PdhEnumObjectItemsA-Funktion (pdh.h)
Gibt den Leistungsindikator des angegebenen Objekts und instance Namen 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 PdhEnumObjectItemsA(
[in] LPCSTR szDataSource,
[in] LPCSTR szMachineName,
[in] LPCSTR szObjectName,
[out] PZZSTR mszCounterList,
[in, out] LPDWORD pcchCounterListLength,
[out] PZZSTR mszInstanceList,
[in, out] LPDWORD pcchInstanceListLength,
[in] DWORD dwDetailLevel,
[in] DWORD dwFlags
);
Parameter
[in] szDataSource
Null-beendete Zeichenfolge, die den Namen der Protokolldatei angibt, die zum Auflisten des Leistungsindikators und instance Namen verwendet wird. Bei NULL verwendet die Funktion den in angegebenen Computer.
der szMachineName-Parameter , um die Namen aufzulisten.
[in] szMachineName
Null-beendete Zeichenfolge, die den Namen des Computers angibt, der den Leistungsindikator und instance Namen enthält, die Sie aufzählen möchten.
Fügen Sie die führenden Schrägstriche in den Computernamen ein, z. B. \Computername.
Wenn der szDataSource-ParameterNULL ist, können Sie szMachineName auf NULL festlegen, um den lokalen Computer anzugeben.
[in] szObjectName
Null-beendete Zeichenfolge, die den Namen des Objekts angibt, dessen Zähler und instance Namen Sie auflisten möchten.
[out] mszCounterList
Vom Aufrufer zugewiesener Puffer, der eine Liste mit null-beendeten Zählernamen empfängt, die vom angegebenen Objekt bereitgestellt werden. Die Liste enthält eindeutige Indikatorennamen. Die Liste wird durch zwei NULL-Zeichen beendet. Legen Sie auf NULL fest, wenn der parameter pcchCounterListLength 0 ist.
[in, out] pcchCounterListLength
Größe des mszCounterList-Puffers in TCHARs. Wenn null für die Eingabe 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 0, aber kleiner als die erforderliche Größe ist, sollten Sie sich nicht auf die zurückgegebene Größe verlassen, um den Puffer neu zuzurücken.
[out] mszInstanceList
Vom Aufrufer zugewiesener Puffer, der eine Liste mit null-beendeten instance Namen empfängt, die vom angegebenen Objekt bereitgestellt werden. Die Liste enthält eindeutige instance Namen. Die Liste wird durch zwei NULL-Zeichen beendet. Legen Sie auf NULL fest, wenn pcchInstanceListLength null ist.
[in, out] pcchInstanceListLength
Größe des mszInstanceList-Puffers in TCHARs. Wenn null für die Eingabe 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 0, aber kleiner als die erforderliche Größe ist, sollten Sie sich nicht auf die zurückgegebene Größe verlassen, um den Puffer neu zuzurücken.
Wenn das angegebene Objekt keine Variableninstanzen unterstützt, ist der zurückgegebene Wert 0. Wenn das angegebene Objekt Variableninstanzen unterstützt, aber derzeit über keine Instanzen verfügt, ist der zurückgegebene Wert 2, was der Größe einer leeren MULTI_SZ Listenzeichenfolge entspricht.
[in] dwDetailLevel
Detailebene der zurückzugebenden Leistungselemente. Alle Elemente, die die angegebene Detailebene oder weniger aufweisen, werden zurückgegeben (die Ebenen werden in zunehmender Reihenfolge aufgeführt). Dieser Parameter kann einen der folgenden Werte annehmen.
[in] dwFlags
Dieser Parameter muss null sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück.
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 |
---|---|
|
Einer der Puffer ist zu klein, um die Liste der Namen zu enthalten. Dieser Rückgabewert wird erwartet, wenn pcchCounterListLength oder pcchInstanceListLength bei der Eingabe 0 ist. Wenn die angegebene Größe für die Eingabe größer als 0, aber kleiner als die erforderliche Größe ist, sollten Sie sich nicht auf die zurückgegebene Größe verlassen, um den Puffer neu zuzurücken. |
|
Ein Parameter ist nicht gültig. Bei einigen Releases kann dieser Fehler beispielsweise angezeigt werden, wenn die angegebene Größe für die Eingabe größer als 0, aber kleiner als die erforderliche Größe ist. |
|
Speicher kann nicht zugewiesen werden, um diese Funktion zu unterstützen. |
|
Der angegebene Computer ist offline oder nicht verfügbar. |
|
Das angegebene Objekt konnte nicht auf dem angegebenen Computer oder in der angegebenen Protokolldatei gefunden werden. |
Hinweise
Sie sollten diese Funktion zweimal aufrufen, das erste Mal, um die erforderliche Puffergröße abzurufen (legen Sie die Puffer auf NULL und die Größen auf 0 fest), und beim zweiten Mal, um die Daten abzurufen.
Nachfolgende Aufrufe dieser Funktion geben identische Listen von Indikatoren und Instanzen zurück, da PdhEnumObjectItems immer die Liste der Leistungsobjekte abfragt, die durch den letzten Aufruf von PdhEnumObjects oder PdhEnumObjectItems definiert sind. Um die Liste der Leistungsobjekte zu aktualisieren, rufen Sie PdhEnumObjects mit dem bRefresh-FlagwertTRUE auf, bevor Sie PdhEnumObjectItems erneut aufrufen.
Die Reihenfolge der instance- und Zählernamen ist nicht festgelegt.
Beispiele
Ein Beispiel finden Sie unter Auflisten von Prozessobjekten.
Hinweis
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 nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | pdh.h |
Bibliothek | Pdh.lib |
DLL | Pdh.dll |