2.3.12 FSCTL_FILESYSTEM_GET_STATISTICS Reply

This message returns the result of the FSCTL_FILESYSTEM_GET_STATISTICS request message as a pair of structures: a generic structure, FILESYSTEM_STATISTICS, optionally followed by a file system type specific structure that can be either NTFS_STATISTICS, FAT_STATISTICS, or EXFAT_STATISTICS, depending on the underlying file system type. There is one pair of these structures for each processor.<24>

These statistics contain information about both user and metadata files. User files are available for the user. Metadata files are system files that contain information that the file system uses for its internal organization.

The statistics structures contain fields that can overflow during the server's lifetime. This is by design. When an overflow occurs, the value just wraps. For example, 0XFFFFF000 + 0x2000 will result in 0x1000.

The structures within the output buffer MUST all start on 64-byte boundaries. The final output MUST be padded to a 64-byte boundary. Any padding bytes MUST be filled with zeros.

This message also returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this FSCTL is STATUS_SUCCESS. The most common error codes are listed in the following table.

Error code

Meaning

STATUS_BUFFER_TOO_SMALL

0xC0000023

The output buffer is too small to contain a FILESYSTEM_STATISTICS structure.

STATUS_BUFFER_OVERFLOW

0x80000005

The output buffer was filled before all the statistics data could be returned.