PdhEnumMachinesHA-Funktion (pdh.h)

Gibt eine Liste der Computernamen zurück, die Leistungsindikatoren in einer Protokolldatei zugeordnet sind. Die Computernamen wurden entweder beim Hinzufügen von Leistungsindikatoren zur Abfrage oder beim Aufrufen der PdhConnectMachine-Funktion angegeben. Die aufgeführten Computer umfassen diejenigen, die derzeit verbunden und online sind, zusätzlich zu denen, die offline sind oder keine Leistungsdaten zurückgeben.

Diese Funktion ist mit der PdhEnumMachines-Funktion identisch, mit der Ausnahme, dass sie die Verwendung von Handles für Datenquellen unterstützt.

Syntax

PDH_FUNCTION PdhEnumMachinesHA(
  [in]      PDH_HLOG hDataSource,
  [out]     PZZSTR   mszMachineList,
  [in, out] LPDWORD  pcchBufferSize
);

Parameter

[in] hDataSource

Handle an eine Datenquelle, die von der PdhBindInputDataSource-Funktion zurückgegeben wird.

[out] mszMachineList

Vom Aufrufer zugewiesener Puffer, um die Liste der NULL-beendeten Zeichenfolgen zu empfangen, die die Computernamen enthalten. Die Liste wird mit zwei NULL-Abschlusszeichen beendet. Legen Sie auf NULL fest, wenn pcchBufferLength 0 ist.

[in, out] pcchBufferSize

Größe des mszMachineNameList-Puffers in TCHARs. Wenn bei der Eingabe null angegeben wird, 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.

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
PDH_MORE_DATA
Der Puffer mszMachineNameList ist zu klein, um alle Daten zu enthalten. Dieser Rückgabewert wird erwartet, wenn pcchBufferLength 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.
PDH_INVALID_ARGUMENT
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.

Hinweise

Sie sollten diese Funktion zweimal aufrufen, zum ersten Mal zum Abrufen der erforderlichen Puffergröße (Festlegen von mszMachineNameList auf NULL und pcchBufferLength auf 0) und beim zweiten Mal zum Abrufen der Daten.

Hinweis

Der pdh.h-Header definiert PdhEnumMachinesH 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

Weitere Informationen

PdhBindInputDataSource

PdhConnectMachine