DISK_PERFORMANCE結構 (ntdddisk.h)
DISK_PERFORMANCE 結構會與 IOCTL_DISK_PERFORMANCE 要求搭配使用,以收集摘要磁碟統計數據,以測量磁碟效能。
語法
typedef struct _DISK_PERFORMANCE {
LARGE_INTEGER BytesRead;
LARGE_INTEGER BytesWritten;
LARGE_INTEGER ReadTime;
LARGE_INTEGER WriteTime;
LARGE_INTEGER IdleTime;
ULONG ReadCount;
ULONG WriteCount;
ULONG QueueDepth;
ULONG SplitCount;
LARGE_INTEGER QueryTime;
ULONG StorageDeviceNumber;
WCHAR StorageManagerName[8];
} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
成員
BytesRead
包含從磁碟讀取的累計位元組計數,因為已啟用性能計數器。
BytesWritten
包含自啟用性能計數器以來寫入磁碟的位元組累計計數。
ReadTime
包含累計時間,以 100 奈秒的增量表示,因為已啟用性能計數器之後,花費在磁碟讀取上。
WriteTime
包含累計時間,以 100 奈秒的增量表示,因為已啟用性能計數器之後,花費在磁碟讀取上。
IdleTime
包含累計時間,以 100 奈秒的增量表示,因為已啟用沒有磁碟活動的性能計數器。
ReadCount
包含啟用性能計數器之後讀取的磁碟存取次數。
WriteCount
包含啟用性能計數器之後寫入的磁碟存取次數。
QueueDepth
包含執行效能統計數據查詢時佇列磁碟 I/O 要求的快照集。
SplitCount
包含透過相關聯的 IRP 存取磁碟數目,因為性能計數器已啟用。
QueryTime
包含時間戳,指出查詢發生時的系統時間。 系統時間是自 1601 年 1 月 1 日起的 100 奈秒間隔計數。 系統時間通常會大約每 10 毫秒更新一次。 如需系統時間的詳細資訊,請參閱KeQuerySystemTime。
StorageDeviceNumber
包含指派給特定記憶體類型之每個磁碟或磁碟區的唯一數位。 記憶體類型為 disk.sys、ftdisk.sys和 dmio.sys。
StorageManagerName[8]
包含 8 個字元的字串,指出哪個設備驅動器提供效能統計數據。
在 Windows 2000 中,這可以是驅動程式的 “LogiDisk” logidisk.sys 或驅動程式的 “PhysDisk” physdisk.sys。 這些驅動程式會分別收集裝置和實體磁碟的效能統計數據。
在 Windows XP 和更新版本的作系統中,這可以是下列三個字串之一:驅動程式的 “FTDISK” ftdisk.sys、驅動程式 dmio.sys的 “DMIO”,或驅動程式 partmgr.sys的 “PARTMGR”。 這三個驅動程式會分別收集基本磁碟區、動態磁碟區和實體磁碟的效能統計數據。 請注意,這些字串是具有空白填滿的8個字元區分大小寫字串。 例如,在字串 “FTDISK” 的情況下,StorageManagerName 字元陣列應該包含兩個尾端空白 (“FTDISK”),而且在字元串 “DMIO” 的情況下,數組應該包含四個尾端空白 (“DMIO” )。
言論
每當性能計數器停用時,計數就會停止,但計數器不會重設,因此指派給結構成員的累計值可能會反映數個啟用和停用計數器的磁碟活動。
要求
要求 | 價值 |
---|---|
標頭 | ntdddisk.h (包括 Ntdddisk.h) |