Share via


PerfEnumerateCounterSetInstances-Funktion (perflib.h)

Ruft die Namen und Bezeichner der aktiven Instanzen eines Leistungsindikatorsatzes für die

angegebenes System.

Syntax

ULONG PerfEnumerateCounterSetInstances(
  [in, optional]  LPCWSTR               szMachine,
  [in]            LPCGUID               pCounterSetId,
  [out, optional] PPERF_INSTANCE_HEADER pInstances,
                  DWORD                 cbInstances,
  [out]           LPDWORD               pcbInstancesActual
);

Parameter

[in, optional] szMachine

Der Name des Computers, für den die Informationen über die aktiven Instanzen des Leistungsindikatorsatzes abgerufen werden sollen, die vom pCounterSet-Parameter angegeben werden. Bei NULL ruft die Funktion Informationen zu den aktiven Instanzen des angegebenen Leistungsindikatorsatzes für den lokalen Computer ab.

[in] pCounterSetId

Der Indikatorsatzbezeichner des Indikatorsatzes, für den Sie die Informationen zu den aktiven Instanzen abrufen möchten.

[out, optional] pInstances

Zeiger auf einen Puffer, der groß genug ist, um die vom cbInstances-Parameter festgelegte Datenmenge zu empfangen. Kann sein

NULL, wenn cbInstances 0 ist.

cbInstances

Die Größe des Puffers, den der pInstances-Parameter in Bytes angibt.

[out] pcbInstancesActual

Die Größe des Puffers, die tatsächlich erforderlich ist, um die Informationen zu den aktiven Instanzen abzurufen. Die Bedeutung hängt vom Wert der Funktion ab.

Gibt.

Funktionsrückgabewert Bedeutung von pcbInstancesActual
ERROR_SUCCESS Die Anzahl von

Byte von Informationen über die aktiven Instanzen des angegebenen Indikatorsatzes, den die Funktion in dem Puffer gespeichert hat, den pInstances angegeben hat.

ERROR_NOT_ENOUGH_MEMORY The

Größe des Puffers, der erforderlich ist, um die Informationen über die aktiven Instanzen des Leistungsindikators auf dem angegebenen Computer in Bytes zu speichern. Vergrößern Des Puffers auf den erforderlichen

größe, und rufen Sie die Funktion erneut auf.

Sonstiges Der Wert ist undefiniert und sollte nicht verwendet werden.

Rückgabewert

Rückgabecode Beschreibung
ERROR_SUCCESS
Die Funktion speicherte erfolgreich alle Informationen zu den aktiven Instanzen des Indikatorsatzes im Puffer, den pInstances angegeben hat. Der Wert, auf den pcbInstancesActual verweist, gibt die Menge der tatsächlich im Puffer gespeicherten Informationen in Bytes an.
ERROR_NOT_ENOUGH_MEMORY
Der puffer, den pInstances angegeben hat, war nicht groß genug, um alle Informationen zu den aktiven Instanzen des Leistungsindikatorsatzes zu speichern. Der Wert, auf den pcbInstancesActual verweist, gibt die Größe des Puffers an, der zum Speichern aller Informationen erforderlich ist. Vergrößern Des Puffers auf den erforderlichen

größe, und rufen Sie die Funktion erneut auf.

 

Bei anderen Fehlertypen ist der Rückgabewert ein Systemfehlercode.

Hinweise

Die Informationen zu den aktiven Instanzen des angegebenen Leistungsindikatorsatzes werden in den Puffer geschrieben, den pInstances als Sequenz von PERF_INSTANCE_HEADER Blöcken angibt. Die Größe in Bytes von

die Sequenz von Blöcken wird in pcbInstancesActual geschrieben. Jeder PERF_INSTANCE_HEADER-Block besteht aus

einer PERF_INSTANCE_HEADER-Struktur , unmittelbar gefolgt von einem NULL-beendeten UTF-16LE

instance Namen, gefolgt von Auffüllung, damit die Größe des

PERF_INSTANCE_HEADER Block ist ein Vielfaches von 8 Bytes.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1607 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile perflib.h
Bibliothek AdvAPI32.lib
DLL AdvAPI32.dll

Weitere Informationen

PERF_INSTANCE_HEADER

PerfEnumerateCounterSet