FAT File System Registry Settings

The file allocation table (FAT) file system retrieves driver specific settings from the registry. The following table shows the registry settings for the FAT file system stored in HKEY_LOCAL_MACHINE\System\StorageManager\FATFS.

Registry value Type Description
FriendlyName String Friendly name for the file system.
Dll String Name of the file system DLL.
Flags DWORD FAT file system registry flags.
Paging DWORD Disables paging. Set to zero to disable paging, set to 1 to enable paging.
Util String DLL name of utility to do format and scan.
BufferSize DWORD Number of sector-sized buffers to use for streams. The default value is 64 for TFAT and 32 for FAT.
EnableCache DWORD Disables caching. Set to zero to disable caching, set to 1 to enable caching.
CacheSize DWORD Size of disk cache, in number of sectors. This value must be a power of 2 and at least 16 sectors. If set to zero, FATFS will determine the best cache size to use.
EnableCacheWarm DWORD Enables pre-warming of the cache.
MountLabel DWORD Pulls the volume label and uses it as a mount point.
FormatTfat DWORD Formats the volume as TFAT on auto-format or through IOCTL_DISK_FORMAT_VOLUME.
CodePage DWORD Overrides CP_OEMCP in all character conversions.

The following table shows the available values you can set for the Flags registry subkey; set Flags to a combination of these values.

Flag Value Description
FATFS_UPDATE_ACCESS 0x00000001 Updates access times.
FATFS_DISABLE_LOG 0x00000002 Disables event logging.
FATFS_DISABLE_AUTOSCAN 0x00000004 Disables automatic calls to ScanVolume.
FATFS_VERIFY_WRITES 0x00000008 Verifies all writes.
FATFS_ENABLE_BACKUP_FAT 0x00000010 Adds a backup FAT to all formats.
FATFS_FORCE_WRITETHROUGH 0x00000020 Sets all files to WRITE_THROUGH, regardless of the parameters to CreateFile.
FATFS_DISABLE_AUTOFORMAT 0x00000040 Disables automatic formatting of unformatted volumes.
FATFS_WFWS_NOWRITETHRU 0x00010000 Disables write through on the WriteFileWithSeek function. Improves memory-mapped file performance.
FATFS_DISABLE_FORMAT 0x00020000 Disables format.
FATFS_TRANS_DATA 0x00040000 Transacts data on a write operation.
FATFS_TFAT_USECLUS1 0x00080000 Uses the cluster 1 entry in the FAT table for a TFAT transaction. TFAT uses the NOF field of the boot sector by default.
FATFS_DISABLE_TFAT_REDIR 0x00100000 Disables the redirect of the root directory to another hidden directory for FAT12 or 16.
FATFS_TFAT_ALWAYS 0x00200000 Marks transaction status, even if only one sector in FAT is changed.
FATFS_FORCE_TFAT 0x00400000 Forces TFAT transactions even if the volume is not formatted as TFAT.

The CacheSize registry subkey is a hexadecimal number of sectors to cache. This has to be a power of two. The following table shows valid numbers for the CacheSize registry subkey.

Registry entry Number of sectors Cache in kilobytes (KB)
2 2 1
4 4 2
8 8 4
10 16 8
20 16 32
40 64 32
80 128 64
100 256 128
200 512 256
400 1024 512
800 2048 1024
1000 4096 2048

The following registry key example shows the location of the Flags and CacheSize registry subkey values.

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
    "Flags": dword:00000024
    "CacheSize" = dword:400

If CacheSize is set to zero, the cache size will be set automatically.

See Also

Creating FSDs | Loading FSDs | Storage Manager | File System Filters | Block Drivers | How to Configure a FAT File System

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.