Freigeben über


PdhEnumMachinesA-Funktion (pdh.h)

Gibt eine Liste der Computernamen zurück, die Zählern in einer Protokolldatei zugeordnet sind. Die Computernamen wurden entweder beim Hinzufügen von Zählern zur Abfrage oder beim Aufrufen der PdhConnectMachine-Funktion angegeben. Zu den aufgeführten Computern gehören auch diejenigen, die derzeit verbunden und online sind, zusätzlich zu den Computern, die offline sind oder keine Leistungsdaten zurückgeben.

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

Syntax

PDH_FUNCTION PdhEnumMachinesA(
  [in]      LPCSTR  szDataSource,
  [out]     PZZSTR  mszMachineList,
  [in, out] LPDWORD pcchBufferSize
);

Parameter

[in] szDataSource

Null-Zeichenfolge-terminated, die den Namen einer Protokolldatei angibt. Die Funktion listet die Namen der Computer auf, deren Leistungsindikatorendaten in der Protokolldatei enthalten sind. Wenn NULL-, listet die Funktion die Liste der Computer auf, die beim Hinzufügen von Zählern zu einer Echtzeitabfrage oder beim Aufrufen der PdhConnectMachine--Funktion angegeben wurden.

[out] mszMachineList

Vom Aufrufer zugewiesener Puffer, um die Liste der NULL--terminated-Zeichenfolgen zu empfangen, die die Computernamen enthalten. Die Liste wird mit zwei Nullzeichen-terminator beendet. Wird auf NULL- festgelegt, wenn pcchBufferLength null ist.

[in, out] pcchBufferSize

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

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

Bemerkungen

Sie sollten diese Funktion zweimal aufrufen, zum ersten Mal, um die erforderliche Puffergröße abzurufen (legen Sie mszMachineNameList auf NULL- und pcchBufferLength auf 0 fest), und das zweite Mal, um die Daten abzurufen.

Anmerkung

Der pdh.h-Header definiert PdhEnumMachines als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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

PdhConnectMachine-

PdhEnumMachinesH