PERF_INSTANCE_DEFINITION-Struktur (winperf.h)

Beschreibt eine instance eines Leistungsobjekts.

Syntax

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

Member

ByteLength

Größe dieser Struktur, einschließlich des folgenden instance Namens, in Bytes. Dieser Wert muss ein 8-Byte-Vielfaches sein.

ParentObjectTitleIndex

Index des Namens des übergeordneten Objekts in der Titeldatenbank. Wenn das Objekt beispielsweise ein Thread ist, das übergeordnete Objekt ein Prozess ist, oder wenn es sich bei dem Objekt um ein logisches Laufwerk handelt, handelt es sich bei dem übergeordneten Objekt um ein physisches Laufwerk.

ParentObjectInstance

Position des instance innerhalb des übergeordneten Objekts, das diesem instance zugeordnet ist. Die Position ist nullbasiert.

UniqueID

Ein eindeutiger Bezeichner, den Sie verwenden können, um den instance zu identifizieren, anstatt den Namen zum Identifizieren des instance zu verwenden. Wenn Sie keine eindeutigen Bezeichner verwenden, um die Indikatoreninstanzen zu unterscheiden, legen Sie dieses Element auf PERF_NO_UNIQUE_ID fest.

NameOffset

Offset vom Anfang dieser Struktur auf den Unicode-Namen dieser instance.

NameLength

Länge des instance Namens, einschließlich des NULL-Abschlussators, in Bytes. Dieser Member ist 0, wenn die instance keinen Namen hat.

Fügen Sie keine Auffüllungen in die Länge ein, die Sie dem instance Namen hinzugefügt haben, um sicherzustellen, dass ByteLength an einer 8-Byte-Grenze ausgerichtet ist.

Hinweise

Das -Objekt enthält Instanzen, wenn das NumInstances-Element von PERF_OBJECT_TYPE größer als 0 ist. Verwenden Sie das DefinitionLength-Element von PERF_OBJECT_TYPE, um die erste instance des Objekts zu suchen. Ausführliche Informationen finden Sie unter Leistungsdatenformat.

Consumer sollten den übergeordneten instance Namen verwenden, sofern angegeben, um einen vollständigen instance Namen zu erstellen, der für die Anzeige verwendet wird. Die Konvention besteht darin, den Namen als übergeordnetes/untergeordnetes Element zu bilden.

Anbieter sollten eindeutige instance Namen verwenden. Andernfalls wird es für Consumer schwierig, Leistungswerte zu berechnen und anzuzeigen, da sie nicht feststellen können, ob der aktuelle instance auf denselben instance verweist, der zuvor abgefragt wurde (Instanzen können kommen und gehen).

Anbieter müssen genügend Speicherplatz für den instance Namen zuweisen, um sicherzustellen, dass ByteLength an einer 8-Byte-Grenze ausgerichtet ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winperf.h (einschließlich Windows.h)

Weitere Informationen

PERF_OBJECT_TYPE