Поделиться через


структура 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

Содержит snapshot количества запросов дискового ввода-вывода в очереди на момент выполнения запроса статистики производительности.

SplitCount

Содержит количество обращений к диску с помощью связанного IRP с момента включения счетчиков производительности.

QueryTime

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

Комментарии

Подсчет останавливается всякий раз, когда счетчики производительности отключены, но счетчики не сбрасываются, поэтому совокупные значения, назначенные членам структуры, могут потенциально отражать активность диска в нескольких включениях и отключениях счетчиков.

Требования

Требование Значение
Заголовок ntdddisk.h (включая Ntdddisk.h)

См. также раздел

IOCTL_DISK_PERFORMANCE

IOCTL_DISK_PERFORMANCE_OFF