Partager via


PERF_OBJECT_TYPE structure (winperf.h)

Décrit des informations sur les 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, le cas échéant.

DefinitionLength

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

Si l’objet est un objet instance multiples (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 vers le 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

Indexer le nom de l’objet dans la base de données title. 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 et de descriptions de compteurs au Registre.

ObjectNameTitle

Réservé.

ObjectHelpTitleIndex

Indexer 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 et de descriptions de compteurs 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 du compteur sont fournies pour tous les utilisateurs.
PERF_DETAIL_ADVANCED
Les données du compteur sont fournies pour les utilisateurs avancés.
PERF_DETAIL_EXPERT
Les données du compteur sont fournies aux 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

Indexer le nom du compteur dans la base de données de titres 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 avoir la valeur –1 pour indiquer qu’il n’y a pas de valeur par défaut.

NumInstances

Nombre d’instances d’objet pour lesquelles des 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 instance sont des chaînes Unicode. Sinon, ce membre est l’identificateur de page de codes des noms 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 nombres, du compteur de performances haute résolution.

Les fournisseurs doivent fournir cette valeur si les types de compteurs de leurs compteurs incluent l’indicateur PERF_OBJECT_TIMER . Sinon, 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 nombres 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 PERF_OBJECT_TIMER . Sinon, 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 des données de performances.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winperf.h (inclure Windows.h)

Voir aussi

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

Format des données de performances