PERF_INSTANCE_DEFINITION struttura (winperf.h)
Descrive un'istanza di un oggetto prestazioni.
Sintassi
typedef struct _PERF_INSTANCE_DEFINITION {
DWORD ByteLength;
DWORD ParentObjectTitleIndex;
DWORD ParentObjectInstance;
LONG UniqueID;
DWORD NameOffset;
DWORD NameLength;
} PERF_INSTANCE_DEFINITION, *PPERF_INSTANCE_DEFINITION;
Members
ByteLength
Dimensioni di questa struttura, incluso il nome dell'istanza che segue, in byte. Questo valore deve essere un multiplo a 8 byte.
ParentObjectTitleIndex
Indice del nome dell'oggetto padre nel database del titolo. Ad esempio, se l'oggetto è un thread, l'oggetto padre è un processo o se l'oggetto è un'unità logica, l'elemento padre è un'unità fisica.
ParentObjectInstance
Posizione dell'istanza all'interno dell'oggetto padre associato a questa istanza. La posizione è basata su zero.
UniqueID
Identificatore univoco che è possibile usare per identificare l'istanza anziché usare il nome per identificare l'istanza. Se non si usano identificatori univoci per distinguere le istanze del contatore, impostare questo membro su PERF_NO_UNIQUE_ID.
NameOffset
Offset dall'inizio di questa struttura al nome Unicode di questa istanza.
NameLength
Lunghezza del nome dell'istanza, incluso il terminatore Null, in byte. Questo membro è zero se l'istanza non ha un nome.
Non includere nella lunghezza alcuna spaziatura interna aggiunta al nome dell'istanza per assicurarsi che ByteLength sia allineato a un limite a 8 byte.
Commenti
L'oggetto contiene istanze se il membro NumInstances di PERF_OBJECT_TYPE è maggiore di zero. Usare il membro DefinitionLength di PERF_OBJECT_TYPE per trovare la prima istanza dell'oggetto. Per informazioni dettagliate, vedere Formato dati prestazioni.
I consumer devono usare il nome dell'istanza padre, se specificato, per creare un nome di istanza completo usato per la visualizzazione. La convenzione consiste nel formare il nome come padre/figlio.
I provider devono usare nomi di istanza univoci. In caso contrario, è difficile per i consumer calcolare e visualizzare i valori delle prestazioni perché non possono stabilire se l'istanza corrente fa riferimento alla stessa istanza eseguita in precedenza (le istanze possono venire e andare).
I provider devono allocare spazio sufficiente per il nome dell'istanza per assicurarsi che ByteLength sia allineato a un limite di 8 byte.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | winperf.h (includere Windows.h) |