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.