Partager via


structure PERF_OBJECT_TYPE (winperf.h)

Décrit les informations de performances spécifiques à l’objet, par exemple le nombre d’instances de l’objet et le nombre de compteurs définis par l’objet.

Syntaxe

typedef struct _PERF_OBJECT_TYPE {
  DWORD         TotalByteLength;
  DWORD         DefinitionLength;
  DWORD         HeaderLength;
  DWORD         ObjectNameTitleIndex;
#if ...
  DWORD         ObjectNameTitle;
#else
  LPWSTR        ObjectNameTitle;
#endif
  DWORD         ObjectHelpTitleIndex;
#if ...
  DWORD         ObjectHelpTitle;
#else
  LPWSTR        ObjectHelpTitle;
#endif
  DWORD         DetailLevel;
  DWORD         NumCounters;
  LONG          DefaultCounter;
  LONG          NumInstances;
  DWORD         CodePage;
  LARGE_INTEGER PerfTime;
  LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;

Membres

TotalByteLength

Taille des données spécifiques à l’objet, en octets. Ce membre est le décalage entre le début de cette structure et la structure PERF_OBJECT_TYPE suivante, s’il en existe un.

DefinitionLength

Taille de cette structure plus la taille de tous les
structures PERF_COUNTER_DEFINITION.

Si l’objet est un objet d’instance multiple (le membre NumInstances n’est pas égal à zéro), ce membre est le décalage entre le début de cette structure et la première structure PERF_INSTANCE_DEFINITION. Sinon, cette valeur est le décalage de la PERF_COUNTER_BLOCK.

HeaderLength

Taille de cette structure, en octets. Ce membre est le décalage entre le début de cette structure et la première structure PERF_COUNTER_DEFINITION.

ObjectNameTitleIndex

Index du nom de l’objet dans la base de données de titre. Pour plus d’informations sur l’utilisation de l’index pour récupérer le nom de l’objet, consultez Récupération des noms de compteurs et du texte d’aide.

Les fournisseurs spécifient la valeur d’index dans leur fichier d’initialisation. Pour plus d’informations, consultez Ajout de noms de compteurs et de descriptions au Registre.

ObjectNameTitle

Réservé.

ObjectHelpTitleIndex

Indexez le texte d’aide de l’objet dans la base de données de titre. Pour plus d’informations sur l’utilisation de l’index pour récupérer le texte d’aide de l’objet, consultez Récupération des noms de compteurs et du texte d’aide.

Les fournisseurs spécifient la valeur d’index dans leur fichier d’initialisation. Pour plus d’informations, consultez Ajout de noms de compteurs et de descriptions au Registre.

ObjectHelpTitle

Réservé.

DetailLevel

Niveau de détail. Les consommateurs utilisent cette valeur pour contrôler la complexité de l’affichage. Cette valeur est le niveau de détail minimal de tous les compteurs d’un objet donné. Ce membre peut être l’une des valeurs suivantes.

Niveau de détail Signification
PERF_DETAIL_NOVICE
Les données de compteur sont fournies pour tous les utilisateurs.
PERF_DETAIL_ADVANCED
Les données de compteur sont fournies pour les utilisateurs avancés.
PERF_DETAIL_EXPERT
Les données de compteur sont fournies pour les utilisateurs experts.
PERF_DETAIL_WIZARD
Les données de compteur sont fournies pour les concepteurs système.

NumCounters

Nombre de blocs PERF_COUNTER_DEFINITION retournés par l’objet.

DefaultCounter

Index du nom du compteur dans la base de données de titre du compteur par défaut dont les informations doivent être affichées lorsque cet objet est sélectionné dans l’outil Performance. Ce membre peut être –1 pour indiquer qu’il n’y a pas de valeur par défaut.

NumInstances

Nombre d’instances d’objet pour lesquelles les compteurs sont fournis. Si l’objet peut avoir zéro ou plusieurs instances, mais qu’il n’en a pas actuellement, cette valeur doit être égale à zéro. Si l’objet ne peut pas avoir plusieurs instances, cette valeur doit être PERF_NO_INSTANCES.

CodePage

Ce membre est égal à zéro si les chaînes d’instance sont des chaînes Unicode. Dans le cas contraire, ce membre est l’identificateur de page de codes des noms d’instance. Vous pouvez utiliser la valeur de la page de codes lors de l’appel de MultiByteToWideChar pour convertir la chaîne en Unicode.

PerfTime

Horodatage généré par le fournisseur que les consommateurs utilisent lors du calcul des valeurs de compteur. Par exemple, il peut s’agir de la valeur actuelle, en nombre, du compteur de performances haute résolution.

Les fournisseurs doivent fournir cette valeur si les types de compteurs de leurs compteurs incluent l’indicateur de PERF_OBJECT_TIMER. Dans le cas contraire, les consommateurs utilisent la valeur PerfTime de PERF_DATA_BLOCK.

PerfFreq

Valeur de fréquence générée par le fournisseur que les consommateurs utilisent lors du calcul des valeurs de compteur. Par exemple, il peut s’agir de la fréquence actuelle, en nombre par seconde, du compteur de performances haute résolution.

Les fournisseurs doivent fournir cette valeur si les types de compteurs de leurs compteurs incluent l’indicateur de PERF_OBJECT_TIMER. Dans le cas contraire, les consommateurs utilisent la valeur perfFreq de PERF_DATA_BLOCK.

Remarques

Les fournisseurs utilisent cette structure pour fournir des données de performances pour les objets qu’ils prennent en charge. Les consommateurs utilisent cette structure pour consommer des données de performances pour les objets qu’ils ont interrogés.

Cette structure est suivie d’une liste de structures PERF_COUNTER_DEFINITION, une pour chaque compteur défini pour l’objet de performance. Pour plus d’informations sur la disposition du bloc de données de performances, consultez format de données de performances.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
d’en-tête winperf.h (inclure Windows.h)

Voir aussi

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

format de données de performances