2.5.1 FileFsAttributeInformation
This information class is used to query attribute information for a file system.
A FILE_FS_ATTRIBUTE_INFORMATION data element, defined as follows, is returned by the server.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FileSystemAttributes |
|||||||||||||||||||||||||||||||
MaximumComponentNameLength |
|||||||||||||||||||||||||||||||
FileSystemNameLength |
|||||||||||||||||||||||||||||||
FileSystemName (variable) |
|||||||||||||||||||||||||||||||
... |
FileSystemAttributes (4 bytes): A 32-bit unsigned integer that contains a bitmask of flags that specify attributes of the specified file system as a combination of the following flags. The value of this field MUST be a bitwise OR of zero or more of the following with the exception that FILE_FILE_COMPRESSION and FILE_VOLUME_IS_COMPRESSED cannot both be set. Any flag values not explicitly mentioned here can be set to any value, and MUST be ignored.<151>
-
Value
Meaning
FILE_SUPPORTS_USN_JOURNAL
0x02000000
The file system implements a USN change journal.
FILE_SUPPORTS_OPEN_BY_FILE_ID
0x01000000
The file system supports opening a file by FileID or ObjectID.
FILE_SUPPORTS_EXTENDED_ATTRIBUTES
0x00800000
The file system persistently stores Extended Attribute information per file.
FILE_SUPPORTS_HARD_LINKS
0x00400000
The file system supports hard linking files.
FILE_SUPPORTS_TRANSACTIONS
0x00200000
FILE_SEQUENTIAL_WRITE_ONCE
0x00100000
The underlying volume is write once.
FILE_READ_ONLY_VOLUME
0x00080000
If set, the volume has been mounted in read-only mode.
FILE_NAMED_STREAMS
0x00040000
The file system supports named streams.
FILE_SUPPORTS_ENCRYPTION
0x00020000
The file system supports the Encrypted File System (EFS).<153>
FILE_SUPPORTS_OBJECT_IDS
0x00010000
The file system supports object identifiers.
FILE_VOLUME_IS_COMPRESSED
0x00008000
The specified volume is a compressed volume. This flag is incompatible with the FILE_FILE_COMPRESSION flag.
FILE_SUPPORTS_REMOTE_STORAGE
0x00000100
The file system supports remote storage.<154>
FILE_SUPPORTS_REPARSE_POINTS
0x00000080
The file system supports reparse points.
FILE_SUPPORTS_SPARSE_FILES
0x00000040
The file system supports sparse files.
FILE_VOLUME_QUOTAS
0x00000020
The file system supports per-user quotas.
FILE_FILE_COMPRESSION
0x00000010
The file volume supports file-based compression. This flag is incompatible with the FILE_VOLUME_IS_COMPRESSED flag.
FILE_PERSISTENT_ACLS
0x00000008
The file system preserves and enforces access control lists (ACLs).
FILE_UNICODE_ON_DISK
0x00000004
The file system supports Unicode in file and directory names. This flag applies only to file and directory names; the file system neither restricts nor interprets the bytes of data within a file.
FILE_CASE_PRESERVED_NAMES
0x00000002
The file system preserves the case of file names when it places a name on disk.
FILE_CASE_SENSITIVE_SEARCH
0x00000001
The file system supports case-sensitive file names when looking up (searching for) file names in a directory.
FILE_SUPPORT_INTEGRITY_STREAMS
0x04000000
The file system supports integrity streams.
FILE_SUPPORTS_BLOCK_REFCOUNTING
0x08000000
The file system supports sharing logical clusters between files on the same volume. The file system reallocates on writes to shared clusters. Indicates that FSCTL_DUPLICATE_EXTENTS_TO_FILE is a supported operation.
FILE_SUPPORTS_SPARSE_VDL
0x10000000
The file system tracks whether each cluster of a file contains valid data (either from explicit file writes or automatic zeros) or invalid data (has not yet been written to or zeroed).
File systems that use Sparse VDL do not store a valid data length (section 2.4.48) and do not require that valid data be contiguous within a file.
MaximumComponentNameLength (4 bytes): A 32-bit signed integer that contains the maximum file name component length, in bytes, supported by the specified file system. The value of this field MUST be greater than zero and MUST be no more than 510.<155>
FileSystemNameLength (4 bytes): A 32-bit unsigned integer that contains the length, in bytes, of the file system name in the FileSystemName field. The value of this field MUST be greater than 0.
FileSystemName (variable): A variable-length Unicode field containing the name of the file system. This field is not null-terminated and MUST be handled as a sequence of FileSystemNameLength bytes. This field is intended to be informative only. A client SHOULD NOT infer file system type specific behavior from this field.<156>
This operation returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this file system information class is STATUS_SUCCESS. The most common error codes are listed in the following table.
Error code |
Meaning |
---|---|
STATUS_INFO_LENGTH_MISMATCH 0xC0000004 |
The specified information record length does not match the length that is required for the specified information class. |
STATUS_BUFFER_OVERFLOW 0x80000005 |
The output buffer was filled before all of the file system information could be returned; only a portion of the FileSystemName field is returned. |