Article ID: 2600035 - Last Review: October 11, 2011 - Revision: 1.0

FIX: The FlushFileBuffers function does not take effect until the file handle is closed in Windows Embedded CE 6.0 R3

System TipThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

On This Page

Expand all | Collapse all

SYMPTOMS

The FlushFileBuffers function does not take effect until the file handle is closed in Windows Embedded CE 6.0 R3. This problem occurs in the following file systems:
  • The FAT file system
  • The Extended FAT file system that has the TransactData registry subkey set to 1
  • The transaction-safe FAT file system (TexFAT)

The following are scenarios in which you may encounter this problem:
  • You call the FlushFileBuffers function to write data in a file. The file size does not change until the file handle is closed.
  • When you call the FlushFileBuffers function to obtain data that is flushed into a file, you receive one of the following error messages:

    Error message 1
    File not present.
    Error message 2
    Data did not match.

CAUSE

This problem occurs because the FILE_FLAG_WRITE_THROUGH flag is not configured for the underlying file handle for the file system cache manager.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Monthly Update September 2011. In the "File information" section, the package file name contains the product version, the date, the Knowledge Base article number, and the processor type. The package file name format is as follows:
Product version-yymmdd-kbnnnnnn-processor type
For example, Wincepb60-110128-kb2492159-armv4i.msi is the ARMV4i Windows Embedded CE 6.0 Platform Builder fix that is documented in KB article 2492159 and that is contained in the January 2011 monthly update.

To resolve this problem immediately, download this Windows Embedded CE 6.0 Monthly Update from the following Microsoft website.

Microsoft Download Center
Windows Embedded CE 6.0 (http://www.microsoft.com/download/en/search.aspx?q=Windows%20Embedded%20CE%206.0%20Monthly%20Update)

Prerequisites

This update is supported only if all previously issued updates for this product have also been installed.

Restart requirement

After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
  • On the Build menu, click Clean Solution, and then click Build Solution.
  • On the Build menu, click Rebuild Solution.
You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this software update package has the file attributes that are listed in the following table (or later file attributes). The dates and the times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Installer files
Collapse this tableExpand this table
File nameFile sizeDateTime
Wincepb60-110907-kb2600035-armv4i.msi819,20007-Sep-201123:00
Wincepb60-110907-kb2600035-mipsii.msi811,00807-Sep-201123:00
Wincepb60-110907-kb2600035-mipsii_fp.msi811,00807-Sep-201123:00
Wincepb60-110907-kb2600035-mipsiv.msi815,10407-Sep-201123:00
Wincepb60-110907-kb2600035-mipsiv_fp.msi815,10407-Sep-201123:00
Wincepb60-110907-kb2600035-sh4.msi798,72007-Sep-201123:00
Wincepb60-110907-kb2600035-x86.msi757,76007-Sep-201123:00
Files that are included in this update package
Collapse this tableExpand this table
File nameFile sizeDateTimePath
Windows embedded ce 6.0_update_kb2600035.htm7,88607-Sep-201119:55110907_kb2600035
Cachedvolume.cpp38,97918-Aug-201121:25Private\Winceos\Coreos\Fsd\Cachefilt
Cachefilt.lib647,12218-Aug-201121:24Public\Common\Oak\Lib\Armv4i\Debug
Cachefilt.lib390,94618-Aug-201121:24Public\Common\Oak\Lib\Armv4i\Retail
Cachefilt.lib636,63018-Aug-201121:24Public\Common\Oak\Lib\Mipsii\Debug
Cachefilt.lib398,42018-Aug-201121:24Public\Common\Oak\Lib\Mipsii\Retail
Cachefilt.lib636,70418-Aug-201121:24Public\Common\Oak\Lib\Mipsii_fp\Debug
Cachefilt.lib398,45618-Aug-201121:24Public\Common\Oak\Lib\Mipsii_fp\Retail
Cachefilt.lib641,76818-Aug-201121:24Public\Common\Oak\Lib\Mipsiv\Debug
Cachefilt.lib403,48418-Aug-201121:24Public\Common\Oak\Lib\Mipsiv\Retail
Cachefilt.lib641,84218-Aug-201121:24Public\Common\Oak\Lib\Mipsiv_fp\Debug
Cachefilt.lib403,52018-Aug-201121:24Public\Common\Oak\Lib\Mipsiv_fp\Retail
Cachefilt.lib573,84218-Aug-201121:25Public\Common\Oak\Lib\Sh4\Debug
Cachefilt.lib370,60618-Aug-201121:25Public\Common\Oak\Lib\Sh4\Retail
Cachefilt.lib542,42218-Aug-201121:24Public\Common\Oak\Lib\X86\Debug
Cachefilt.lib341,44818-Aug-201121:24Public\Common\Oak\Lib\X86\Retail

REFERENCES

For more information about the FlushFileBuffers function, visit the following Microsoft Developer Network (MSDN) website:
FlushFileBuffers (http://msdn.microsoft.com/en-us/library/ee489770(v=WinEmbedded.60).aspx)
For more information about the file system cache manager, visit the following MSDN website:
File and Disk Caching (http://msdn.microsoft.com/en-us/library/ee489972(v=winembedded.60).aspx)
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

APPLIES TO
  • Windows Embedded CE 6.0 R3
Keywords: 
kbfix kbqfe kbpubtypekc kbexpertiseinter KB2600035