Freigeben über


PdhEnumObjectItemsW-Funktion (pdh.h)

Gibt den Leistungsindikator und die Instanznamen des angegebenen Objekts zurück, die auf dem angegebenen Computer oder in der angegebenen Protokolldatei vorhanden sind.

Um Handles für Datenquellen zu verwenden, verwenden Sie die PdhEnumObjectItemsH--Funktion.

Syntax

PDH_FUNCTION PdhEnumObjectItemsW(
  [in]      LPCWSTR szDataSource,
  [in]      LPCWSTR szMachineName,
  [in]      LPCWSTR szObjectName,
  [out]     PZZWSTR mszCounterList,
  [in, out] LPDWORD pcchCounterListLength,
  [out]     PZZWSTR mszInstanceList,
  [in, out] LPDWORD pcchInstanceListLength,
  [in]      DWORD   dwDetailLevel,
  [in]      DWORD   dwFlags
);

Parameter

[in] szDataSource

Null--terminated-Zeichenfolge, die den Namen der Protokolldatei angibt, die zum Aufzählen der Zähler- und Instanznamen verwendet wird. Wenn NULL-, verwendet die Funktion den in

der szMachineName Parameter zum Aufzählen der Namen.

[in] szMachineName

Null--terminated-Zeichenfolge, die den Namen des Computers angibt, der die Zähler- und Instanznamen enthält, die Sie aufzählen möchten.

Schließen Sie die führenden Schrägstriche in den Computernamen ein, z. B. "\computername".

Wenn der parameter szDataSourceNULList, können Sie szMachineName auf NULL- festlegen, um den lokalen Computer anzugeben.

[in] szObjectName

Null--terminated-Zeichenfolge, die den Namen des Objekts angibt, dessen Zähler- und Instanznamen Sie aufzählen möchten.

[out] mszCounterList

Vom Aufrufer zugewiesener Puffer, der eine Liste mit NULL--terminated-Counternamen empfängt, die vom angegebenen Objekt bereitgestellt werden. Die Liste enthält eindeutige Zählernamen. Die Liste wird durch zwei NULL- Zeichen beendet. Wird auf NULL- festgelegt, wenn der pcchCounterListLength Parameter null ist.

[in, out] pcchCounterListLength

Größe des mszCounterList- Puffers in TCHARs. Wenn null für eingaben und das Objekt vorhanden ist, gibt die Funktion PDH_MORE_DATA zurück und legt diesen Parameter auf die erforderliche Puffergröße fest. Wenn der Puffer größer als die erforderliche Größe ist, legt die Funktion diesen Parameter auf die tatsächliche Größe des verwendeten Puffers fest. Wenn die angegebene Größe für die Eingabe größer als null, aber kleiner als die erforderliche Größe ist, sollten Sie nicht auf die zurückgegebene Größe zurückgreifen, um den Puffer neu zuzuweisen.

[out] mszInstanceList

Vom Aufrufer zugewiesener Puffer, der eine Liste mit NULL--terminated Instanznamen empfängt, die vom angegebenen Objekt bereitgestellt werden. Die Liste enthält eindeutige Instanznamen. Die Liste wird durch zwei NULL- Zeichen beendet. Wird auf NULL- festgelegt, wenn pcchInstanceListLength null ist.

[in, out] pcchInstanceListLength

Größe des mszInstanceList- Puffers in TCHARs. Wenn null für eingaben und das Objekt vorhanden ist, gibt die Funktion PDH_MORE_DATA zurück und legt diesen Parameter auf die erforderliche Puffergröße fest. Wenn der Puffer größer als die erforderliche Größe ist, legt die Funktion diesen Parameter auf die tatsächliche Größe des verwendeten Puffers fest. Wenn die angegebene Größe für die Eingabe größer als null, aber kleiner als die erforderliche Größe ist, sollten Sie nicht auf die zurückgegebene Größe zurückgreifen, um den Puffer neu zuzuweisen.

Wenn das angegebene Objekt keine Variableninstanzen unterstützt, ist der zurückgegebene Wert null. Wenn das angegebene Objekt Variableninstanzen unterstützt, aber derzeit keine Instanzen aufweist, ist der zurückgegebene Wert 2, was die Größe einer leeren MULTI_SZ Listenzeichenfolge ist.

[in] dwDetailLevel

Detailebene der zurückzugebenden Leistungselemente. Alle Elemente, die der angegebenen Detailebene entsprechen, werden zurückgegeben (die Ebenen werden in zunehmender Reihenfolge aufgeführt). Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
PERF_DETAIL_NOVICE
Anfängerebene des Details.
PERF_DETAIL_ADVANCED
Erweiterte Detailebene des Benutzers.
PERF_DETAIL_EXPERT
Experten-Detailebene.
PERF_DETAIL_WIZARD
Detailebene des Systemdesigners.

[in] dwFlags

Dieser Parameter muss null sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird ERROR_SUCCESS zurückgegeben.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode oder ein PDH-Fehlercode. Im Folgenden sind mögliche Werte aufgeführt.

Rückgabecode Beschreibung
PDH_MORE_DATA
Einer der Puffer ist zu klein, um die Liste der Namen zu enthalten. Dieser Rückgabewert wird erwartet, wenn pcchCounterListLength oder pcchInstanceListLength für eingabe null ist. Wenn die angegebene Größe für die Eingabe größer als null, aber kleiner als die erforderliche Größe ist, sollten Sie nicht auf die zurückgegebene Größe zurückgreifen, um den Puffer neu zuzuweisen.
PDH_INVALID_ARGUMENT
Ein Parameter ist ungültig. Bei einigen Versionen können Sie diesen Fehler z. B. erhalten, wenn die angegebene Größe für die Eingabe größer als 0, aber kleiner als die erforderliche Größe ist.
PDH_MEMORY_ALLOCATION_FAILURE
Speicher kann nicht zugewiesen werden, um diese Funktion zu unterstützen.
PDH_CSTATUS_NO_MACHINE
Der angegebene Computer ist offline oder nicht verfügbar.
PDH_CSTATUS_NO_OBJECT
Das angegebene Objekt konnte auf dem angegebenen Computer oder in der angegebenen Protokolldatei nicht gefunden werden.

Bemerkungen

Sie sollten diese Funktion zweimal aufrufen, zum ersten Mal, um die erforderliche Puffergröße abzurufen (die Puffer auf NULL- und die Größen auf 0 festlegen) und das zweite Mal, um die Daten abzurufen.

Aufeinanderfolgende Aufrufe dieser Funktion geben identische Listen von Zählern und Instanzen zurück, da PdhEnumObjectItems immer die Liste der Leistungsobjekte abfragt, die durch den letzten Aufruf von PdhEnumObjects oder PdhEnumObjectItemsdefiniert werden. Rufen Sie zum Aktualisieren der Liste der Leistungsobjekte PdhEnumObjects mit einem bRefresh Flagwert TRUE- auf, bevor Sie PdhEnumObjectItems erneut aufrufen.

Die Reihenfolge der Instanz- und Zählernamen ist unbestimmt.

Beispiele

Ein Beispiel finden Sie unter Aufzählen von Prozessobjekten.

Anmerkung

Der pdh.h-Header definiert PdhEnumObjectItems als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- pdh.h
Library Pdh.lib
DLL- Pdh.dll

Siehe auch

PdhEnumObjectItemsH

PdhEnumObjects