Formato dati prestazioni
Il formato dei dati recuperati dalla funzioneRegQueryValueExinizia con una struttura di intestazione a lunghezza fissa PERF_DATA_BLOCK. La struttura PERF_DATA_BLOCK descrive il sistema e i dati sulle prestazioni. La struttura PERF_DATA_BLOCK è seguita da un numero variabile di elementi dati dell'oggetto a lunghezza variabile. L'intestazione di ogni elemento oggetto contiene l'offset dell'elemento dell'oggetto successivo nell'elenco. Il diagramma seguente illustra la struttura dei dati delle prestazioni di base.
Esistono due formati per gli elementi di dati dell'oggetto: uno che supporta più istanze e l'altro che non supporta più istanze.
Ogni blocco di elementi dati dell'oggetto contiene una struttura PERF_OBJECT_TYPE, che descrive i dati sulle prestazioni per l'oggetto. La struttura PERF_OBJECT_TYPE è seguita da un elenco di strutture PERF_COUNTER_DEFINITION, una per ogni contatore definito per l'oggetto. Per un oggetto con una sola istanza, l'elenco di strutture PERF_COUNTER_DEFINITION è seguito da una singola struttura PERF_COUNTER_BLOCK, seguita dai dati del contatore. Ogni struttura PERF_COUNTER_DEFINITION contiene l'offset dall'inizio della struttura PERF_COUNTER_BLOCK ai dati del contatore corrispondenti. Il diagramma seguente illustra la struttura di un oggetto prestazioni che non supporta più istanze.
Per un tipo di oggetto che supporta più istanze, l'elenco delle strutture di PERF_COUNTER_DEFINITION è seguito da un elenco di blocchi di informazioni sull'istanza (uno per ogni istanza). Ogni blocco informativo dell'istanza contiene una struttura PERF_INSTANCE_DEFINITION, il nome dell'istanza e una struttura PERF_COUNTER_BLOCK. Il diagramma seguente illustra la struttura di un oggetto prestazioni che supporta due istanze.
Per un esempio che usa gli offset, vedere Visualizzazione di oggetti, istanze e nomi dei contatori.