Microsoft KB Archive/837276

= The FAT file system may not store extended characters in a file name =

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.



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 &quot;Applies to&quot; 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:

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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.