Partager via


Format des données de performances

Le format des données récupérées par la fonction RegQueryValueEx commence par une structure d’en-tête de longueur fixe , PERF_DATA_BLOCK. La structure PERF_DATA_BLOCK décrit le système et les données de performances. La structure PERF_DATA_BLOCK est suivie d’un nombre variable d’éléments de données d’objet de longueur variable. L’en-tête de chaque élément d’objet contient le décalage de l’élément d’objet suivant dans la liste. Le diagramme suivant montre la structure des données de performances de base.

structure des données de performances

Il existe deux formats pour les éléments de données d’objet : l’un qui prend en charge plusieurs instances et l’autre qui ne prend pas en charge plusieurs instances.

Chaque bloc d’éléments de données d’objet contient une structure PERF_OBJECT_TYPE , qui décrit les données de performances de l’objet. La structure PERF_OBJECT_TYPE est suivie d’une liste de structures PERF_COUNTER_DEFINITION , une pour chaque compteur défini pour l’objet . Pour un objet avec un seul instance, la liste des structures PERF_COUNTER_DEFINITION est suivie d’une structure de PERF_COUNTER_BLOCK unique, suivie des données de compteur. Chaque structure PERF_COUNTER_DEFINITION contient le décalage entre le début de la structure PERF_COUNTER_BLOCK et les données de compteur correspondantes. Le diagramme suivant montre la structure d’un objet de performance qui ne prend pas en charge plusieurs instances.

structure de l’objet de performance qui ne prend pas en charge plusieurs instances

Pour un type d’objet qui prend en charge plusieurs instances, la liste des structures PERF_COUNTER_DEFINITION est suivie d’une liste de blocs d’informations instance (un pour chaque instance). Chaque bloc d’informations instance contient une structure PERF_INSTANCE_DEFINITION, le nom du instance et une structure PERF_COUNTER_BLOCK. Le diagramme suivant montre la structure d’un objet de performance qui prend en charge deux instances.

structure d’un objet de performance qui prend en charge deux instances

Pour obtenir un exemple qui utilise les décalages, consultez Affichage des noms d’objet, d’instance et de compteur.