NTFS_STATISTICS structure (winioctl.h)
Contains statistical information from the NTFS file system.
Syntax
typedef struct _NTFS_STATISTICS {
DWORD LogFileFullExceptions;
DWORD OtherExceptions;
DWORD MftReads;
DWORD MftReadBytes;
DWORD MftWrites;
DWORD MftWriteBytes;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
WORD Flush;
} MftWritesUserLevel;
WORD MftWritesFlushForLogFileFull;
WORD MftWritesLazyWriter;
WORD MftWritesUserRequest;
DWORD Mft2Writes;
DWORD Mft2WriteBytes;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
WORD Flush;
} Mft2WritesUserLevel;
WORD Mft2WritesFlushForLogFileFull;
WORD Mft2WritesLazyWriter;
WORD Mft2WritesUserRequest;
DWORD RootIndexReads;
DWORD RootIndexReadBytes;
DWORD RootIndexWrites;
DWORD RootIndexWriteBytes;
DWORD BitmapReads;
DWORD BitmapReadBytes;
DWORD BitmapWrites;
DWORD BitmapWriteBytes;
WORD BitmapWritesFlushForLogFileFull;
WORD BitmapWritesLazyWriter;
WORD BitmapWritesUserRequest;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
} BitmapWritesUserLevel;
DWORD MftBitmapReads;
DWORD MftBitmapReadBytes;
DWORD MftBitmapWrites;
DWORD MftBitmapWriteBytes;
WORD MftBitmapWritesFlushForLogFileFull;
WORD MftBitmapWritesLazyWriter;
WORD MftBitmapWritesUserRequest;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
WORD Flush;
} MftBitmapWritesUserLevel;
DWORD UserIndexReads;
DWORD UserIndexReadBytes;
DWORD UserIndexWrites;
DWORD UserIndexWriteBytes;
DWORD LogFileReads;
DWORD LogFileReadBytes;
DWORD LogFileWrites;
DWORD LogFileWriteBytes;
struct {
DWORD Calls;
DWORD Clusters;
DWORD Hints;
DWORD RunsReturned;
DWORD HintsHonored;
DWORD HintsClusters;
DWORD Cache;
DWORD CacheClusters;
DWORD CacheMiss;
DWORD CacheMissClusters;
} Allocate;
DWORD DiskResourcesExhausted;
} NTFS_STATISTICS, *PNTFS_STATISTICS;
Members
LogFileFullExceptions
The number of exceptions generated due to the log file being full.
OtherExceptions
The number of other exceptions generated.
MftReads
The number of read operations on the master file table (MFT).
MftReadBytes
The number of bytes read from the MFT.
MftWrites
The number of write operations on the MFT.
MftWriteBytes
The number of bytes written to the MFT.
MftWritesUserLevel
MftWritesUserLevel.Write
The number of MFT writes due to a write operation.
MftWritesUserLevel.Create
The number of MFT writes due to a create operation.
MftWritesUserLevel.SetInfo
The number of MFT writes due to setting file information.
MftWritesUserLevel.Flush
The number of MFT writes due to a flush operation.
MftWritesFlushForLogFileFull
The number of flushes of the MFT performed because the log file was full.
MftWritesLazyWriter
The number of MFT write operations performed by the lazy writer thread.
MftWritesUserRequest
Reserved.
Mft2Writes
The number of write operations on the MFT mirror.
Mft2WriteBytes
The number of bytes written to the MFT mirror.
Mft2WritesUserLevel
Mft2WritesUserLevel.Write
The number of MFT mirror writes due to a write operation.
Mft2WritesUserLevel.Create
The number of MFT mirror writes due to a create operation.
Mft2WritesUserLevel.SetInfo
The number of MFT mirror writes due to setting file information.
Mft2WritesUserLevel.Flush
The number of MFT mirror writes due to a flush operation.
Mft2WritesFlushForLogFileFull
The number of flushes of the MFT mirror performed because the log file was full.
Mft2WritesLazyWriter
The number of MFT mirror write operations performed by the lazy writer thread.
Mft2WritesUserRequest
Reserved.
RootIndexReads
The number of read operations on the root index.
RootIndexReadBytes
The number of bytes read from the root index.
RootIndexWrites
The number of write operations on the root index.
RootIndexWriteBytes
The number of bytes written to the root index.
BitmapReads
The number of read operations on the cluster allocation bitmap.
BitmapReadBytes
The number of bytes read from the cluster allocation bitmap.
BitmapWrites
The number of write operations on the cluster allocation bitmap.
BitmapWriteBytes
The number of bytes written to the cluster allocation bitmap.
BitmapWritesFlushForLogFileFull
The number of flushes of the bitmap performed because the log file was full.
BitmapWritesLazyWriter
The number of bitmap write operations performed by the lazy writer thread.
BitmapWritesUserRequest
Reserved.
BitmapWritesUserLevel
BitmapWritesUserLevel.Write
The number of bitmap writes due to a write operation.
BitmapWritesUserLevel.Create
The number of bitmap writes due to a create operation.
BitmapWritesUserLevel.SetInfo
The number of bitmap writes due to setting file information.
MftBitmapReads
The number of read operations on the MFT bitmap.
MftBitmapReadBytes
The number of bytes read from the MFT bitmap.
MftBitmapWrites
The number of write operations on the MFT bitmap.
MftBitmapWriteBytes
The number of bytes written to the MFT bitmap.
MftBitmapWritesFlushForLogFileFull
The number of flushes of the MFT bitmap performed because the log file was full.
MftBitmapWritesLazyWriter
The number of MFT bitmap write operations performed by the lazy writer thread.
MftBitmapWritesUserRequest
Reserved.
MftBitmapWritesUserLevel
MftBitmapWritesUserLevel.Write
The number of MFT bitmap writes due to a write operation.
MftBitmapWritesUserLevel.Create
The number of bitmap writes due to a create operation.
MftBitmapWritesUserLevel.SetInfo
The number of bitmap writes due to setting file information.
MftBitmapWritesUserLevel.Flush
The number of bitmap writes due to a flush operation.
UserIndexReads
The number of read operations on the user index.
UserIndexReadBytes
The number of bytes read from the user index.
UserIndexWrites
The number of write operations on the user index.
UserIndexWriteBytes
The number of bytes written to the user index.
LogFileReads
The number of read operations on the log file.
LogFileReadBytes
The number of bytes read from the log file.
LogFileWrites
The number of write operations on the log file.
LogFileWriteBytes
The number of bytes written to the log file.
Allocate
Allocate.Calls
The number of individual calls to allocate clusters.
Allocate.Clusters
The number of clusters allocated.
Allocate.Hints
The number of times a hint was specified.
Allocate.RunsReturned
The number of runs used to satisfy all the requests.
Allocate.HintsHonored
The number of times the hint was useful.
Allocate.HintsClusters
The number of clusters allocated through the hint.
Allocate.Cache
The number of times the cache was useful other than the hint.
Allocate.CacheClusters
The number of clusters allocated through the cache other than the hint.
Allocate.CacheMiss
The number of times the cache was not useful.
Allocate.CacheMissClusters
The number of clusters allocated without the cache.
DiskResourcesExhausted
The number of failed attempts made to acquire a slab of storage for use on the current thinly provisioned volume.
Support for this member started with Windows 8.1.
Remarks
The MFT, MFT mirror, root index, user index, bitmap, and MFT bitmap are counted as metadata files. The log file is not counted as a metadata file.
The number of read and write operations measured is the number of paging operations.
For additional statistics that are only available with Windows 10, use NTFS_STATISTICS_EX.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | winioctl.h (include Windows.h) |