struttura DISK_PERFORMANCE (ntdddisk.h)
La struttura DISK_PERFORMANCE viene usata in combinazione con la richiesta di IOCTL_DISK_PERFORMANCE per raccogliere le statistiche del disco di riepilogo ai fini della misurazione delle prestazioni del disco.
Sintassi
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;
Membri
BytesRead
Contiene un conteggio cumulativo di byte letti dal disco perché i contatori delle prestazioni sono stati abilitati.
BytesWritten
Contiene un conteggio cumulativo di byte scritti sul disco perché i contatori delle prestazioni sono stati abilitati.
ReadTime
Contiene un tempo cumulativo, espresso in incrementi di 100 nanosecondi, impiegato per le letture su disco dopo l'abilitazione dei contatori delle prestazioni.
WriteTime
Contiene un tempo cumulativo, espresso in incrementi di 100 nanosecondi, impiegato per le letture su disco dopo l'abilitazione dei contatori delle prestazioni.
IdleTime
Contiene un tempo cumulativo, espresso in incrementi di 100 nanosecondi, poiché i contatori delle prestazioni sono stati abilitati in cui non è stata eseguita alcuna attività del disco.
ReadCount
Contiene il numero di accessi al disco per le letture dopo l'abilitazione dei contatori delle prestazioni.
WriteCount
Contiene il numero di accessi al disco per le scritture dopo l'abilitazione dei contatori delle prestazioni.
QueueDepth
Contiene uno snapshot del numero di richieste di I/O su disco in coda al momento dell'esecuzione della query per le statistiche sulle prestazioni.
SplitCount
Contiene il numero di accessi al disco tramite un IRP associato perché i contatori delle prestazioni sono stati abilitati.
QueryTime
Contiene un timestamp che indica l'ora di sistema nel momento in cui è stata eseguita la query. Il tempo di sistema è un conteggio di intervalli di 100 nanosecondi dal 1° gennaio 1601. Il tempo di sistema viene in genere aggiornato circa ogni dieci millisecondi. Per altre informazioni sull'ora di sistema, vedereKeQuerySystemTime.
StorageDeviceNumber
Contiene un numero univoco assegnato a ogni disco o volume in un particolare tipo di archiviazione. I tipi di archiviazione sono disk.sys, ftdisk.syse dmio.sys.
StorageManagerName[8]
Contiene una stringa di 8 caratteri che indica quale driver di dispositivo ha fornito le statistiche sulle prestazioni.
In Windows 2000 questo può essere "LogiDisk" per il driver logidisk.sys o "PhysDisk" per il driver physdisk.sys. Questi driver raccolgono rispettivamente le statistiche sulle prestazioni per i dispositivi e i dischi fisici.
Nei sistemi operativi Windows XP e versioni successive, può trattarsi di una delle tre stringhe seguenti: "FTDISK" per il driver ftdisk.sys, "DMIO" per il driver dmio.syso "PARTMGR" per il driver partmgr.sys. Questi tre driver raccolgono le statistiche sulle prestazioni per i volumi di dischi di base, i volumi dei dischi dinamici e i dischi fisici rispettivamente. Si noti che queste stringhe sono stringhe con distinzione tra maiuscole e minuscole con riempimento vuoto. Ad esempio, nel caso della stringa "FTDISK", la StorageManagerName matrice di caratteri deve contenere due spazi vuoti finali ("FTDISK") e nel caso della stringa "DMIO", la matrice deve contenere quattro spazi vuoti finali ("DMIO").
Osservazioni
Il conteggio si interrompe ogni volta che i contatori delle prestazioni sono disabilitati, ma i contatori non vengono reimpostati, pertanto i valori cumulativi assegnati ai membri della struttura potrebbero potenzialmente riflettere l'attività del disco in diversi tipi di abilitazioni e disabilitazioni dei contatori.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | ntdddisk.h (include Ntdddisk.h) |