Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура 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
Содержит моментальный снимок количества запросов ввода-вывода в очереди во время выполнения запроса статистики производительности.
SplitCount
Содержит количество доступа к диску с помощью связанного IRP, так как счетчики производительности были включены.
QueryTime
Содержит метку времени, указывающую системное время на момент выполнения запроса. Системное время — это число 100-наносекунд интервалов с 1 января 1601 года. Системное время обычно обновляется примерно каждые десять миллисекундах. Дополнительные сведения о системном времени см. в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 для драйвера dmio.sysили PARTMGR для драйвера partmgr.sys. Эти три драйвера собирают статистику производительности для основных томов дисков, томов динамических дисков и физических дисков соответственно. Обратите внимание, что эти строки представляют собой 8-символьные строки с пустой заливкой. Например, в случае строки FTDISK массив StorageManagerName должен содержать два конечных пустых ("FTDISK"), а в случае строки "DMIO", массив должен содержать четыре конечных пустых ("DMIO").
Замечания
Подсчет останавливается всякий раз, когда счетчики производительности отключены, но счетчики не сбрасываются, поэтому накопительные значения, назначенные членам структуры, могут потенциально отражать действие диска в нескольких включениях и отключении счетчиков.
Требования
| Требование | Ценность |
|---|---|
| заголовка | ntdddisk.h (include Ntdddisk.h) |