winioctl.h) (NTFS_STATISTICS_EX 结构
包含来自 NTFS 文件系统的统计信息。对此结构的支持始于 Windows 10。
语法
typedef struct _NTFS_STATISTICS_EX {
DWORD LogFileFullExceptions;
DWORD OtherExceptions;
DWORDLONG MftReads;
DWORDLONG MftReadBytes;
DWORDLONG MftWrites;
DWORDLONG MftWriteBytes;
struct {
DWORD Write;
DWORD Create;
DWORD SetInfo;
DWORD Flush;
} MftWritesUserLevel;
DWORD MftWritesFlushForLogFileFull;
DWORD MftWritesLazyWriter;
DWORD MftWritesUserRequest;
DWORDLONG Mft2Writes;
DWORDLONG Mft2WriteBytes;
struct {
DWORD Write;
DWORD Create;
DWORD SetInfo;
DWORD Flush;
} Mft2WritesUserLevel;
DWORD Mft2WritesFlushForLogFileFull;
DWORD Mft2WritesLazyWriter;
DWORD Mft2WritesUserRequest;
DWORDLONG RootIndexReads;
DWORDLONG RootIndexReadBytes;
DWORDLONG RootIndexWrites;
DWORDLONG RootIndexWriteBytes;
DWORDLONG BitmapReads;
DWORDLONG BitmapReadBytes;
DWORDLONG BitmapWrites;
DWORDLONG BitmapWriteBytes;
DWORD BitmapWritesFlushForLogFileFull;
DWORD BitmapWritesLazyWriter;
DWORD BitmapWritesUserRequest;
struct {
DWORD Write;
DWORD Create;
DWORD SetInfo;
DWORD Flush;
} BitmapWritesUserLevel;
DWORDLONG MftBitmapReads;
DWORDLONG MftBitmapReadBytes;
DWORDLONG MftBitmapWrites;
DWORDLONG MftBitmapWriteBytes;
DWORD MftBitmapWritesFlushForLogFileFull;
DWORD MftBitmapWritesLazyWriter;
DWORD MftBitmapWritesUserRequest;
struct {
DWORD Write;
DWORD Create;
DWORD SetInfo;
DWORD Flush;
} MftBitmapWritesUserLevel;
DWORDLONG UserIndexReads;
DWORDLONG UserIndexReadBytes;
DWORDLONG UserIndexWrites;
DWORDLONG UserIndexWriteBytes;
DWORDLONG LogFileReads;
DWORDLONG LogFileReadBytes;
DWORDLONG LogFileWrites;
DWORDLONG LogFileWriteBytes;
struct {
DWORD Calls;
DWORD RunsReturned;
DWORD Hints;
DWORD HintsHonored;
DWORD Cache;
DWORD CacheMiss;
DWORDLONG Clusters;
DWORDLONG HintsClusters;
DWORDLONG CacheClusters;
DWORDLONG CacheMissClusters;
} Allocate;
DWORD DiskResourcesExhausted;
DWORDLONG VolumeTrimCount;
DWORDLONG VolumeTrimTime;
DWORDLONG VolumeTrimByteCount;
DWORDLONG FileLevelTrimCount;
DWORDLONG FileLevelTrimTime;
DWORDLONG FileLevelTrimByteCount;
DWORDLONG VolumeTrimSkippedCount;
DWORDLONG VolumeTrimSkippedByteCount;
DWORDLONG NtfsFillStatInfoFromMftRecordCalledCount;
DWORDLONG NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount;
DWORDLONG NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount;
} NTFS_STATISTICS_EX, *PNTFS_STATISTICS_EX;
成员
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
由于设置文件信息而导致的位图写入数。
BitmapWritesUserLevel.Flush
由于刷新操作而导致的位图写入数。
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.RunsReturned
用于满足所有请求的运行数。
Allocate.Hints
指定提示的次数。
Allocate.HintsHonored
提示有用的次数。
Allocate.Cache
除提示外,缓存有用的次数。
Allocate.CacheMiss
缓存无用的次数。
Allocate.Clusters
分配的群集数。
Allocate.HintsClusters
通过提示分配的群集数。
Allocate.CacheClusters
通过提示以外的缓存分配的群集数。
Allocate.CacheMissClusters
在没有缓存的情况下分配的群集数。
DiskResourcesExhausted
尝试获取用于当前精简预配卷的存储板的失败次数。
VolumeTrimCount
发出的音量级别修整操作数。
VolumeTrimTime
在所有卷级别修整操作期间经过的总时间。 此值除以 QueryPerformanceFrequency 或 KeQueryPerformanceCounter 的频率值,将给出以秒为单位的时间。
VolumeTrimByteCount
所有卷级别修整操作发出的字节总数。
FileLevelTrimCount
发出的文件级剪裁操作数。
FileLevelTrimTime
所有文件级别修整操作期间经过的总时间。 此值除以 QueryPerformanceFrequency 或 KeQueryPerformanceCounter 的频率值,将给出以秒为单位的时间。
FileLevelTrimByteCount
所有文件级别修整操作发出的字节总数。
VolumeTrimSkippedCount
在通过存储堆栈向下发送卷级别修整操作之前中止的次数。
VolumeTrimSkippedByteCount
由于跳过卷级别修整操作而未发送的字节数。
NtfsFillStatInfoFromMftRecordCalledCount
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount
注解
MFT、MFT 镜像、根索引、用户索引、位图和 MFT 位图计为元数据文件。 日志文件不计为元数据文件。
测量的读取和写入操作数是分页操作数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |