structure DISK_PERFORMANCE (ntdddisk.h)
La structure DISK_PERFORMANCE est utilisée conjointement avec la demande de IOCTL_DISK_PERFORMANCE pour collecter des statistiques de disque récapitulatives à des fins de mesure des performances du disque.
Syntaxe
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;
Membres
BytesRead
Contient un nombre cumulé d’octets lus à partir du disque, car les compteurs de performances ont été activés.
BytesWritten
Contient un nombre cumulé d’octets écrits sur le disque, car les compteurs de performances ont été activés.
ReadTime
Contient un temps cumulé, exprimé par incréments de 100 nanosecondes, passé sur les lectures de disque depuis que les compteurs de performances ont été activés.
WriteTime
Contient un temps cumulé, exprimé par incréments de 100 nanosecondes, passé sur les lectures de disque depuis que les compteurs de performances ont été activés.
IdleTime
Contient une heure cumulative, exprimée par incréments de 100 nanosecondes, car les compteurs de performances ont été activés dans lesquels il n’y avait aucune activité de disque.
ReadCount
Contient le nombre d’accès au disque pour les lectures depuis que les compteurs de performances ont été activés.
WriteCount
Contient le nombre d’accès au disque pour les écritures depuis que les compteurs de performances ont été activés.
QueueDepth
Contient un instantané du nombre de demandes d’E/S de disque en file d’attente au moment où la requête pour les statistiques de performances a été effectuée.
SplitCount
Contient le nombre d’accès au disque par le biais d’un IRP associé, car les compteurs de performances ont été activés.
QueryTime
Contient un horodatage indiquant l’heure système au moment où la requête a eu lieu. Le temps système est un nombre d’intervalles de 100 nanosecondes depuis le 1er janvier 1601. L’heure système est généralement mise à jour toutes les dix millisecondes environ. Pour plus d’informations sur l’heure système, consultezKeQuerySystemTime.
StorageDeviceNumber
Contient un nombre unique attribué à chaque disque ou volume sur un type de stockage particulier. Les types de stockage sont disk.sys, ftdisk.syset dmio.sys.
StorageManagerName[8]
Contient une chaîne de 8 caractères qui indique le pilote de périphérique fourni les statistiques de performances.
Dans Windows 2000, il peut s’agir de « LogiDisk » pour le pilote logidisk.sys ou « PhysDisk » pour le pilote physdisk.sys. Ces pilotes collectent respectivement des statistiques de performances pour les appareils et les disques physiques.
Dans Windows XP et les systèmes d’exploitation ultérieurs, il peut s’agir de l’une des trois chaînes suivantes : « FTDISK » pour le pilote ftdisk.sys, « DMIO » pour le pilote dmio.sysou « PARTMGR » pour le pilote partmgr.sys. Ces trois pilotes collectent respectivement des statistiques de performances pour les volumes de disque de base, les volumes de disque dynamique et les disques physiques. Notez que ces chaînes sont des chaînes sensibles à la casse de 8 caractères avec remplissage vide. Par exemple, dans le cas de la chaîne « FTDISK », le StorageManagerName tableau de caractères doit contenir deux vides de fin (« FTDISK »), et dans le cas de la chaîne « DMIO », le tableau doit contenir quatre vides de fin (« DMIO »).
Remarques
Le comptage s’arrête chaque fois que les compteurs de performances sont désactivés, mais que les compteurs ne sont pas réinitialisés, de sorte que les valeurs cumulatives affectées aux membres de la structure peuvent potentiellement refléter l’activité de disque entre plusieurs activations et désactivations des compteurs.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntdddisk.h (include Ntdddisk.h) |