2.2.16 IFILE_SYSTEM_INFO

The IFILE_SYSTEM_INFO structure provides information about an installed file system. For more information, see [MSDN-STC].

 struct ifilesysteminfo {
   long fsType;
   WCHAR fsName[MAX_FS_NAME_SIZE];
   unsigned long fsFlags;
   unsigned long fsCompressionFlags;
   int cchLabelLimit;
   int cchLabel;
   [size_is(cchLabel)] wchar_t* iLabelChSet;
 };
 typedef struct ifilesysteminfo IFILE_SYSTEM_INFO;

fsType: Type of the file system. This field contains one of the following values.

Value

Meaning

FSTYPE_UNKNOWN

0x00000000

File system type is unknown.

FSTYPE_NTFS

0x00000001

File system type is NTFS.

FSTYPE_FAT

0x00000002

File system type is FAT.

FSTYPE_FAT32

0x00000003

File system type is FAT32 file system.

FSTYPE_CDFS

0x00000004

File system type is CDFS.

FSTYPE_UDF

0x00000005

File system type is UDF.

FSTYPE_OTHER

0x80000000

File system type is not listed.

fsName: Null-terminated Unicode file system name.

fsFlags: Bitmap of file system flags. The value of this field is a logical OR of zero or more of the applicable flags.

Value

Meaning

FSF_FMT_OPTION_COMPRESS

0x00000001

File system supports compression.

FSF_FMT_OPTION_LABEL

0x00000002

File system supports label specification.

FSF_MNT_POINT_SUPPORT

0x00000004

File system supports creation of mount points.

FSF_REMOVABLE_MEDIA_SUPPORT

0x00000008

File system supports creation of removable media.

FSF_FS_GROW_SUPPORT

0x00000010

File system supports the extend operation.

FSF_FS_QUICK_FORMAT_ENABLE

0x00000020

File system supports quick formatting.

FSF_FS_ALLOC_SZ_512

0x00000040

File system supports an allocation unit size of 512 bytes.

FSF_FS_ALLOC_SZ_1K

0x00000080

File system supports an allocation unit size of 1 kilobyte.

FSF_FS_ALLOC_SZ_2K

0x00000100

File system supports an allocation unit size of 2 kilobytes.

FSF_FS_ALLOC_SZ_4K

0x00000200

File system supports an allocation unit size of 4 kilobytes.

FSF_FS_ALLOC_SZ_8K

0x00000400

File system supports an allocation unit size of 8 kilobytes.

FSF_FS_ALLOC_SZ_16K

0x00000800

File system supports an allocation unit size of 16 kilobytes.

FSF_FS_ALLOC_SZ_32K

0x00001000

File system supports an allocation unit size of 32 kilobytes.

FSF_FS_ALLOC_SZ_64K

0x00002000

File system supports an allocation unit size of 64 kilobytes.

FSF_FS_ALLOC_SZ_128K

0x00004000

File system supports an allocation unit size of 128 kilobytes.

FSF_FS_ALLOC_SZ_256K

0x00008000

File system supports an allocation unit size of 256 kilobytes.

FSF_FS_ALLOC_SZ_OTHER

0x00010000

File system supports any allocation unit size that the user provides.

FSF_FS_FORMAT_SUPPORTED

0x00020000

File system supports formatting.

FSF_FS_VALID_BITS

0x0003FFFF

All other bits in the bitmap MUST be ignored. The server does a bitwise AND operation with this value to clear upper-level bits that may be present but are not supported.

fsCompressionFlags: Bitmap of allocation unit sizes that are valid for compression. The value of this field is a logical 'OR' of zero or more of the applicable flags.

Value

Meaning

FSF_FS_ALLOC_SZ_1K

0x00000080

File system supports an allocation unit size of 1 kilobyte.

FSF_FS_ALLOC_SZ_2K

0x00000100

File system supports an allocation unit size of 2 kilobytes.

FSF_FS_ALLOC_SZ_4K

0x00000200

File system supports an allocation unit size of 4 kilobytes.

FSF_FS_ALLOC_SZ_8K

0x00000400

File system supports an allocation unit size of 8 kilobytes.

FSF_FS_ALLOC_SZ_16K

0x00000800

File system supports an allocation unit size of 16 kilobytes.

FSF_FS_ALLOC_SZ_32K

0x00001000

File system supports an allocation unit size of 32 kilobytes.

FSF_FS_ALLOC_SZ_64K

0x00002000

File system supports an allocation unit size of 64 kilobytes.

FSF_FS_ALLOC_SZ_128K

0x00004000

File system supports an allocation unit size of 128 kilobytes.

FSF_FS_ALLOC_SZ_256K

0x00008000

File system supports an allocation unit size of 256 kilobytes.

FSF_FS_ALLOC_SZ_OTHER

0x00010000

File system supports any allocation unit size that the user provides.

cchLabelLimit: Maximum number of characters allowed in the file system's label.

cchLabel: Length of the iLabelChSet member in bytes.

iLabelChSet: Array of characters that are not allowed in the file system's label.