NTFS_STATISTICS structure

Contains statistical information from the NTFS file system.

Tip  Applications targeting Windows 10 can access additional statistics through NTFS_STATISTICS_EX.
 

Syntax


typedef struct _NTFS_STATISTICS {
  ULONG  LogFileFullExceptions;
  ULONG  OtherExceptions;
  ULONG  MftReads;
  ULONG  MftReadBytes;
  ULONG  MftWrites;
  ULONG  MftWriteBytes;
  struct {
    USHORT Write;
    USHORT Create;
    USHORT SetInfo;
    USHORT Flush;
  } MftWritesUserLevel;
  USHORT MftWritesFlushForLogFileFull;
  USHORT MftWritesLazyWriter;
  USHORT MftWritesUserRequest;
  ULONG  Mft2Writes;
  ULONG  Mft2WriteBytes;
  struct {
    USHORT Write;
    USHORT Create;
    USHORT SetInfo;
    USHORT Flush;
  } Mft2WritesUserLevel;
  USHORT Mft2WritesFlushForLogFileFull;
  USHORT Mft2WritesLazyWriter;
  USHORT Mft2WritesUserRequest;
  ULONG  RootIndexReads;
  ULONG  RootIndexReadBytes;
  ULONG  RootIndexWrites;
  ULONG  RootIndexWriteBytes;
  ULONG  BitmapReads;
  ULONG  BitmapReadBytes;
  ULONG  BitmapWrites;
  ULONG  BitmapWriteBytes;
  USHORT BitmapWritesFlushForLogFileFull;
  USHORT BitmapWritesLazyWriter;
  USHORT BitmapWritesUserRequest;
  struct {
    USHORT Write;
    USHORT Create;
    USHORT SetInfo;
  } BitmapWritesUserLevel;
  ULONG  MftBitmapReads;
  ULONG  MftBitmapReadBytes;
  ULONG  MftBitmapWrites;
  ULONG  MftBitmapWriteBytes;
  USHORT MftBitmapWritesFlushForLogFileFull;
  USHORT MftBitmapWritesLazyWriter;
  USHORT MftBitmapWritesUserRequest;
  struct {
    USHORT Write;
    USHORT Create;
    USHORT SetInfo;
    USHORT Flush;
  } MftBitmapWritesUserLevel;
  ULONG  UserIndexReads;
  ULONG  UserIndexReadBytes;
  ULONG  UserIndexWrites;
  ULONG  UserIndexWriteBytes;
  ULONG  LogFileReads;
  ULONG  LogFileReadBytes;
  ULONG  LogFileWrites;
  ULONG  LogFileWriteBytes;
  struct {
    ULONG Calls;
    ULONG Clusters;
    ULONG Hints;
    ULONG RunsReturned;
    ULONG HintsHonored;
    ULONG HintsClusters;
    ULONG Cache;
    ULONG CacheClusters;
    ULONG CacheMiss;
    ULONG CacheMissClusters;
  } Allocate;
  ULONG  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
Write

The number of MFT writes due to a write operation.

Create

The number of MFT writes due to a create operation.

SetInfo

The number of MFT writes due to setting file information.

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
Write

The number of MFT mirror writes due to a write operation.

Create

The number of MFT mirror writes due to a create operation.

SetInfo

The number of MFT mirror writes due to setting file information.

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
Write

The number of bitmap writes due to a write operation.

Create

The number of bitmap writes due to a create operation.

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
Write

The number of MFT bitmap writes due to a write operation.

Create

The number of bitmap writes due to a create operation.

SetInfo

The number of bitmap writes due to setting file information.

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
Calls

The number of individual calls to allocate clusters.

Clusters

The number of clusters allocated.

Hints

The number of times a hint was specified.

RunsReturned

The number of runs used to satisfy all the requests.

HintsHonored

The number of times the hint was useful.

HintsClusters

The number of clusters allocated through the hint.

Cache

The number of times the cache was useful other than the hint.

CacheClusters

The number of clusters allocated through the cache other than the hint.

CacheMiss

The number of times the cache was not useful.

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

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

WinIoCtl.h (include Windows.h)

See also

FILESYSTEM_STATISTICS
QueryPerformanceFrequency
KeQueryPerformanceCounter
NTFS_STATISTICS_EX

 

 

Show: