Freigeben über


PdhLookupPerfNameByIndexA-Funktion (pdh.h)

Gibt den Namen oder den Leistungsindikatornamen zurück, der dem angegebenen Index entspricht.

Syntax

PDH_FUNCTION PdhLookupPerfNameByIndexA(
  [in]      LPCSTR  szMachineName,
  [in]      DWORD   dwNameIndex,
  [out]     LPSTR   szNameBuffer,
  [in, out] LPDWORD pcchNameBufferSize
);

Parameter

[in] szMachineName

Null--terminated-Zeichenfolge, die den Namen des Computers angibt, auf dem sich das angegebene Leistungsobjekt oder der angegebene Leistungsindikator befindet. Der Computername kann durch den DNS-Namen oder die IP-Adresse angegeben werden. Wenn NULL-, verwendet die Funktion den lokalen Computer.

[in] dwNameIndex

Index des Leistungsobjekts oder Leistungsindikators.

[out] szNameBuffer

Vom Aufrufer zugewiesener Puffer, der den NULL--terminated-Name des Leistungsobjekts oder Leistungsindikators empfängt. Wird auf NULL- festgelegt, wenn pcchNameBufferSize null ist.

[in, out] pcchNameBufferSize

Größe des szNameBuffer 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 szNameBuffer Puffer ist nicht groß genug, um den Zählernamen zu enthalten. Dieser Rückgabewert wird erwartet, wenn pcchNameBufferSize 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 oder falsch formatiert. 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 (szNameBuffer auf NULL- und pcchNameBufferSize auf 0 festgelegt) und das zweite Mal, um die Daten abzurufen.

Windows XP: Sie müssen eine Puffer- und Puffergröße angeben. Die Funktion legt pcchNameBufferSize entweder auf die erforderliche Größe oder die Größe des verwendeten Puffers fest. Wenn der Puffer zu klein ist, gibt die Funktion PDH_INSUFFICIENT_BUFFER anstelle von PDH_MORE_DATA zurück. Die maximale Zeichenfolgengröße in Byte ist PDH_MAX_COUNTER_NAME * sizeof(TCHAR).

Der angegebene Indexwert muss mit einem der Indexwerte übereinstimmen, die den Objekten oder Leistungsindikatoren zugeordnet sind, die auf dem Computer geladen wurden. Die Index-/Name-Wertpaare werden im Counters Registrierungswert am folgenden Registrierungsspeicherort gespeichert.

HKEY_LOCAL_MACHINE
   \SOFTWARE
      \Microsoft
         \Windows NT
            \CurrentVersion
               \Perflib
                  Last Counter = highest counter index
                  Last Help = highest help index
                  \009
                     Counters = 2 System 4 Memory...
                     Help = 3 The System Object Type...
                  \supported language, other than English
                     Counters = ...
                     Help = ...

Anmerkung

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

PdhLookupPerfIndexByName