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 du 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 illustre la structure de données de performances de base.
Il existe deux formats pour les éléments de données d’objet : 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 une seule instance, la liste des structures de 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 performances 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 d’instance (une pour chaque instance). Chaque bloc d’informations d’instance contient une structure PERF_INSTANCE_DEFINITION, le nom de l’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
Pour obtenir un exemple qui utilise les décalages, consultez Affichage des noms d’objets, d’instances et de compteurs.