NTFS_STATISTICS 结构 (winioctl.h)

包含 NTFS 文件系统中的统计信息。

提示面向Windows 10的应用程序可以通过NTFS_STATISTICS_EX访问其他统计信息。
 

语法

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;

成员

LogFileFullExceptions

由于日志文件已满而生成的异常数。

OtherExceptions

生成的其他异常数。

MftReads

主文件表上的读取操作数 (MFT) 。

MftReadBytes

从 MFT 读取的字节数。

MftWrites

MFT 上的写入操作数。

MftWriteBytes

写入 MFT 的字节数。

MftWritesUserLevel

MftWritesUserLevel.Write

由于写入操作而导致的 MFT 写入数。

MftWritesUserLevel.Create

由于创建操作而导致的 MFT 写入数。

MftWritesUserLevel.SetInfo

由于设置文件信息而导致的 MFT 写入次数。

MftWritesUserLevel.Flush

由于刷新操作导致的 MFT 写入次数。

MftWritesFlushForLogFileFull

由于日志文件已满而执行的 MFT 刷新次数。

MftWritesLazyWriter

延迟编写器线程执行的 MFT 写入操作数。

MftWritesUserRequest

保留。

Mft2Writes

MFT 镜像上的写入操作数。

Mft2WriteBytes

写入 MFT 镜像的字节数。

Mft2WritesUserLevel

Mft2WritesUserLevel.Write

由于写入操作镜像写入的 MFT 数。

Mft2WritesUserLevel.Create

由于创建操作而导致的 MFT 镜像写入次数。

Mft2WritesUserLevel.SetInfo

由于设置文件信息,MFT 镜像写入次数。

Mft2WritesUserLevel.Flush

由于刷新操作而导致的 MFT 镜像写入数。

Mft2WritesFlushForLogFileFull

由于日志文件已满而执行的 MFT 镜像刷新次数。

Mft2WritesLazyWriter

延迟编写器线程执行的 MFT 镜像写入操作的数目。

Mft2WritesUserRequest

保留。

RootIndexReads

对根索引的读取操作数。

RootIndexReadBytes

从根索引读取的字节数。

RootIndexWrites

对根索引执行写入操作的数目。

RootIndexWriteBytes

写入根索引的字节数。

BitmapReads

群集分配位图上的读取操作数。

BitmapReadBytes

从群集分配位图读取的字节数。

BitmapWrites

群集分配位图上的写入操作数。

BitmapWriteBytes

写入群集分配位图的字节数。

BitmapWritesFlushForLogFileFull

由于日志文件已满而执行的位图刷新次数。

BitmapWritesLazyWriter

延迟编写器线程执行的位图写入操作数。

BitmapWritesUserRequest

保留。

BitmapWritesUserLevel

BitmapWritesUserLevel.Write

由于写入操作而导致的位图写入数。

BitmapWritesUserLevel.Create

由于创建操作而导致的位图写入数。

BitmapWritesUserLevel.SetInfo

由于设置文件信息而导致的位图写入数。

MftBitmapReads

MFT 位图上的读取操作数。

MftBitmapReadBytes

从 MFT 位图读取的字节数。

MftBitmapWrites

MFT 位图上的写入操作数。

MftBitmapWriteBytes

写入 MFT 位图的字节数。

MftBitmapWritesFlushForLogFileFull

由于日志文件已满而执行的 MFT 位图的刷新次数。

MftBitmapWritesLazyWriter

延迟编写器线程执行的 MFT 位图写入操作数。

MftBitmapWritesUserRequest

保留。

MftBitmapWritesUserLevel

MftBitmapWritesUserLevel.Write

由于写入操作而导致的 MFT 位图写入数。

MftBitmapWritesUserLevel.Create

由于创建操作而导致的位图写入数。

MftBitmapWritesUserLevel.SetInfo

由于设置文件信息而导致的位图写入数。

MftBitmapWritesUserLevel.Flush

由于刷新操作而导致的位图写入数。

UserIndexReads

对用户索引执行读取操作的数目。

UserIndexReadBytes

从用户索引读取的字节数。

UserIndexWrites

对用户索引执行写入操作的数目。

UserIndexWriteBytes

写入用户索引的字节数。

LogFileReads

日志文件上的读取操作数。

LogFileReadBytes

从日志文件中读取的字节数。

LogFileWrites

日志文件上的写入操作数。

LogFileWriteBytes

写入日志文件的字节数。

Allocate

Allocate.Calls

用于分配群集的单个调用数。

Allocate.Clusters

分配的群集数。

Allocate.Hints

指定提示的次数。

Allocate.RunsReturned

用于满足所有请求的运行数。

Allocate.HintsHonored

提示有用的次数。

Allocate.HintsClusters

通过提示分配的群集数。

Allocate.Cache

缓存除提示之外的有用次数。

Allocate.CacheClusters

通过缓存(而非提示)分配的群集数。

Allocate.CacheMiss

缓存没有用的次数。

Allocate.CacheMissClusters

在没有缓存的情况下分配的群集数。

DiskResourcesExhausted

尝试获取用于当前精简预配卷的板存储的失败次数。

对此成员的支持始于 Windows 8.1。

注解

MFT、MFT 镜像、根索引、用户索引、位图和 MFT 位图计为元数据文件。 日志文件不计为元数据文件。

测量的读取和写入操作数是分页操作数。

对于仅适用于 Windows 10 的其他统计信息,请使用 NTFS_STATISTICS_EX

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅

FILESYSTEM_STATISTICS

KeQueryPerformanceCounter

NTFS_STATISTICS_EX

QueryPerformanceFrequency