Article ID: 837276
Article Last Modified on 5/27/2005
APPLIES TO
- Microsoft Windows CE .NET 4.2
SYMPTOMS
You may experience either of the following symptoms:
- Symptom of problem 1: When you create and name a file whose file name has all the following characteristics, the FAT file system may not create a Unicode file name for a file:
- The file name comprises 8 or fewer characters.
- The file name contains only extended characters (character code that is greater than 127).
- The file name contains uppercase characters or numeric characters or symbolic characters.
- The file name extension has 3 or fewer characters.
- Symptom of problem 2: The Transactional FAT (TFAT) file system may cause one of the two file allocation tables to be inconsistent with the other file allocation table if the system is reset during a critical point in the FAT file system update phase.
CAUSE
Following are the possible causes:
- Cause of problem 1: FATFS does not use the fact that extended characters are present as a criterion to add a long file name (LFN) entry with the Unicode representation of the file name. Any one of the following can trigger the addition of the Unicode LFN entry:
- Lowercase characters
- A file name that is longer than 8 characters
- A file name extension that is longer than 3 characters
- Cause of problem 2: Because of the ordering of sector writes during the synchronization of the FAT tables, a transaction in-process flag can be cleared before the operation is complete.
RESOLUTION
Hotfix Information
A supported software update is now available from Microsoft as Windows CE 4.2 Core OS QFE 837276. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:
837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products
Prerequisites
This fix is supported only when all previously issued fixes for this product have also been installed.
Restart Requirement
After you install this update, you must perform a clean build of the whole platform. To do this on the Build menu, click Clean, and then click Build Platform.
Hotfix Replacement Information
This hotfix does not replace any other hotfixes.
File Information
The English version of this package has the file attributes (or later) that are listed in the following table.
Date Time Version Size File name -------------------------------------------------------------------------------------- 12-Mar-2004 02:45 4.21 1,309,424 Wincepb42-040311-kb837276-armv4.exe 12-Mar-2004 02:45 4.21 1,309,424 Wincepb42-040311-kb837276-armv4i.exe 12-Mar-2004 02:45 4.21 1,346,288 Wincepb42-040311-kb837276-mipsii.exe 12-Mar-2004 02:45 4.21 1,346,288 Wincepb42-040311-kb837276-mipsii_fp.exe 12-Mar-2004 02:45 4.21 1,362,672 Wincepb42-040311-kb837276-mipsiv.exe 12-Mar-2004 02:45 4.21 1,362,672 Wincepb42-040311-kb837276-mipsiv_fp.exe 12-Mar-2004 02:45 4.21 1,264,368 Wincepb42-040311-kb837276-sh3.exe 12-Mar-2004 02:45 4.21 1,260,272 Wincepb42-040311-kb837276-sh4.exe 12-Mar-2004 02:45 4.21 1,166,064 Wincepb42-040311-kb837276-x86.exe
The English version of this hotfix has the file attributes (or later) that are listed in the following table. The dates and 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 tool in Control Panel.
Date Time Size File name -------------------------------------------------------------- Path: Public\Common\Oak\Lib\Armv4\Debug 25-Feb-2004 22:56 637,152 Fatfsd.lib 25-Feb-2004 22:56 86,016 Fatfsd.pdb 05-Mar-2004 17:49 720,014 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Armv4\Retail 25-Feb-2004 22:56 365,342 Fatfsd.lib 25-Feb-2004 22:56 86,016 Fatfsd.pdb 05-Mar-2004 17:49 405,290 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Armv4i\Debug 25-Feb-2004 22:56 637,798 Fatfsd.lib 25-Feb-2004 22:56 86,016 Fatfsd.pdb 05-Mar-2004 17:49 720,786 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Armv4i\Retail 25-Feb-2004 22:56 365,764 Fatfsd.lib 25-Feb-2004 22:56 86,016 Fatfsd.pdb 05-Mar-2004 17:49 405,790 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsii\Debug 25-Feb-2004 22:57 653,102 Fatfsd.lib 25-Feb-2004 22:57 86,016 Fatfsd.pdb 05-Mar-2004 17:50 735,684 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsii\Retail 25-Feb-2004 22:57 372,824 Fatfsd.lib 25-Feb-2004 22:57 86,016 Fatfsd.pdb 05-Mar-2004 17:49 413,196 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsii_fp\Debug 25-Feb-2004 22:57 653,240 Fatfsd.lib 25-Feb-2004 22:57 86,016 Fatfsd.pdb 05-Mar-2004 17:50 735,776 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsii_fp\Retail 25-Feb-2004 22:57 372,962 Fatfsd.lib 25-Feb-2004 22:57 86,016 Fatfsd.pdb 05-Mar-2004 17:50 413,344 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsiv\Debug 25-Feb-2004 22:58 661,188 Fatfsd.lib 25-Feb-2004 22:58 86,016 Fatfsd.pdb 05-Mar-2004 17:50 745,586 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsiv\Retail 25-Feb-2004 22:58 375,676 Fatfsd.lib 25-Feb-2004 22:58 86,016 Fatfsd.pdb 05-Mar-2004 17:50 416,800 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsiv_fp\Debug 25-Feb-2004 22:58 661,326 Fatfsd.lib 25-Feb-2004 22:58 86,016 Fatfsd.pdb 05-Mar-2004 17:50 745,678 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Mipsiv_fp\Retail 25-Feb-2004 22:58 375,812 Fatfsd.lib 25-Feb-2004 22:58 86,016 Fatfsd.pdb 05-Mar-2004 17:50 416,950 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Sh3\Debug 25-Feb-2004 22:59 560,892 Fatfsd.lib 25-Feb-2004 22:59 86,016 Fatfsd.pdb 05-Mar-2004 17:51 631,548 Tfat.lib 05-Mar-2004 17:51 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Sh3\Retail 25-Feb-2004 22:58 339,898 Fatfsd.lib 25-Feb-2004 22:58 86,016 Fatfsd.pdb 05-Mar-2004 17:50 375,678 Tfat.lib 05-Mar-2004 17:50 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Sh4\Debug 25-Feb-2004 22:59 560,546 Fatfsd.lib 25-Feb-2004 22:59 86,016 Fatfsd.pdb 05-Mar-2004 17:51 631,172 Tfat.lib 05-Mar-2004 17:51 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\Sh4\Retail 25-Feb-2004 22:59 339,216 Fatfsd.lib 25-Feb-2004 22:59 86,016 Fatfsd.pdb 05-Mar-2004 17:51 374,978 Tfat.lib 05-Mar-2004 17:51 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\X86\Debug 25-Feb-2004 22:56 548,000 Fatfsd.lib 25-Feb-2004 22:56 86,016 Fatfsd.pdb 05-Mar-2004 17:49 617,556 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb Path: Public\Common\Oak\Lib\X86\Retail 25-Feb-2004 22:55 300,902 Fatfsd.lib 25-Feb-2004 22:55 86,016 Fatfsd.pdb 05-Mar-2004 17:49 332,672 Tfat.lib 05-Mar-2004 17:49 86,016 Tfat.pdb
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article.
MORE INFORMATION
About problem 1: Although this update changes how FATFS handles extended characters in file names, the changes are not active by default after you install the update. This default behavior is because of potential compatibility issues with existing media. To make this update active, you have to do a bitwise OR of the value 0x800000 in the FATFS Flags in the registry.
For example, if the previous value of the Flags was 0x00000064, the following registry setting activates this hotfix:
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"Flags"=DWORD:00800064
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Additional query words: FATFS TFATFS FATs
Keywords: kbbug kbfix kbqfe KB837276