PERF_INSTANCE_DEFINITION structure (winperf.h)

Décrit une instance d’un objet de performance.

Syntaxe

typedef struct _PERF_INSTANCE_DEFINITION {
  DWORD ByteLength;
  DWORD ParentObjectTitleIndex;
  DWORD ParentObjectInstance;
  LONG  UniqueID;
  DWORD NameOffset;
  DWORD NameLength;
} PERF_INSTANCE_DEFINITION, *PPERF_INSTANCE_DEFINITION;

Membres

ByteLength

Taille de cette structure, y compris le nom instance qui suit, en octets. Cette valeur doit être un multiple de 8 octets.

ParentObjectTitleIndex

Index du nom de l’objet parent dans la base de données title. Par exemple, si l’objet est un thread, l’objet parent est un processus ou si l’objet est un lecteur logique, le parent est un lecteur physique.

ParentObjectInstance

Position du instance dans l’objet parent associé à cette instance. La position est de base zéro.

UniqueID

Identificateur unique que vous pouvez utiliser pour identifier le instance au lieu d’utiliser le nom pour identifier le instance. Si vous n’utilisez pas d’identificateurs uniques pour distinguer les instances de compteur, définissez ce membre sur PERF_NO_UNIQUE_ID.

NameOffset

Décalage entre le début de cette structure et le nom Unicode de cette instance.

NameLength

Longueur du nom instance, y compris la marque de fin null, en octets. Ce membre est égal à zéro si le instance n’a pas de nom.

N’incluez pas dans la longueur un remplissage que vous avez ajouté au nom instance pour vous assurer que ByteLength est aligné sur une limite de 8 octets.

Remarques

L’objet contient des instances si le membre NumInstances de PERF_OBJECT_TYPE est supérieur à zéro. Utilisez le membre DefinitionLength de PERF_OBJECT_TYPE pour rechercher la première instance de l’objet. Pour plus d’informations, consultez Format des données de performances.

Les consommateurs doivent utiliser le nom de instance parent, s’il est spécifié, pour créer un nom de instance complet utilisé pour l’affichage. La convention consiste à former le nom en tant que parent/enfant.

Les fournisseurs doivent utiliser des noms de instance uniques. Si ce n’est pas le cas, il est difficile pour les consommateurs de calculer et d’afficher des valeurs de performances, car ils ne peuvent pas savoir si la instance actuelle fait référence à la même instance qui a été interrogée précédemment (les instances peuvent aller et venir).

Les fournisseurs doivent allouer suffisamment d’espace pour le nom instance afin de s’assurer que ByteLength est aligné sur une limite de 8 octets.

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_OBJECT_TYPE