2.3.12.1 FILESYSTEM_STATISTICS

The FILESYSTEM_STATISTICS data element is returned with a FSCTL_FILESYSTEM_GET_STATISTICS reply message. It contains the generic information for the message.

The FILESYSTEM_STATISTICS data element is as follows:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

FileSystemType

Version

SizeOfCompleteStructure

UserFileReads

UserFileReadBytes

UserDiskReads

UserFileWrites

UserFileWriteBytes

UserDiskWrites

MetaDataReads

MetaDataReadBytes

MetaDataDiskReads

MetaDataWrites

MetaDataWriteBytes

MetaDataDiskWrites

FileSystemType (2 bytes): A 16-bit unsigned integer value containing the type of file system. This field MUST contain one of the following values.

Value

Meaning

FILESYSTEM_STATISTICS_TYPE_NTFS

0x0001

The file system is an NTFS file system. If this value is set, this structure is followed by an NTFS_STATISTICS structure.

FILESYSTEM_STATISTICS_TYPE_FAT

0x0002

The file system is a FAT file system. If this value is set, this structure is followed by a FAT_STATISTICS structure.

FILESYSTEM_STATISTICS_TYPE_EXFAT

0x0003

The file system is an exFAT file system. If this value is set, this structure is followed by an EXFAT_STATISTICS structure.

FILESYSTEM_STATISTICS_TYPE_REFS

0x0004

The file system is an ReFS file system. If this value is set, this structure is not followed by a structure specific to file system type.

Version (2 bytes): A 16-bit unsigned integer value containing the version. This field MUST be set to the value 0x0001.

SizeOfCompleteStructure (4 bytes): A 32-bit unsigned integer value that indicates the size, in bytes, of this structure plus the size of the file system-specific structure that follows this structure, each rounded up to a multiple of 64, then the sum is multiplied by the number of processors. For example, if the size of FILESYSTEM_STATISTICS is 0x38, the size of NTFS_STATISTICS is 0XD4, and there are two processors, the size of the buffer allocated is 0x280. This is the sum of the sizes of the NTFS_STATISTICS structure and the FILESYSTEM_STATISTICS structure, both rounded up to a multiple of 64 (0x40 + 0x100 = 0x140) and multiplied by the number of processors.

UserFileReads (4 bytes): A 32-bit unsigned integer value containing the number of read operations on user files.

UserFileReadBytes (4 bytes): A 32-bit unsigned integer value containing the number of bytes read from user files.

UserDiskReads (4 bytes): A 32-bit unsigned integer value containing the number of read operations on user files that went to the disk rather than the cache. This value includes sub-read operations.

UserFileWrites (4 bytes): A 32-bit unsigned integer value containing the number of write operations on user files.

UserFileWriteBytes (4 bytes): A 32-bit unsigned integer value containing the number of bytes written to user files.

UserDiskWrites (4 bytes): A 32-bit unsigned integer value containing the number of write operations on user files that went to disk rather than the cache. This value includes sub-write operations.

MetaDataReads (4 bytes): A 32-bit unsigned integer value containing the number of read operations on metadata files.

MetaDataReadBytes (4 bytes): A 32-bit unsigned integer value containing the number of bytes read from metadata files.

MetaDataDiskReads (4 bytes): A 32-bit unsigned integer value containing the number of read operations on metadata files. This value includes sub-read operations.

MetaDataWrites (4 bytes): A 32-bit unsigned integer value containing the number of write operations on metadata files.

MetaDataWriteBytes (4 bytes): A 32-bit unsigned integer value containing the number of bytes written to metadata files.

MetaDataDiskWrites (4 bytes): A 32-bit unsigned integer value containing the number of write operations on metadata files. This value includes sub-write operations.