Freigeben über


PdhParseInstanceNameW-Funktion (pdh.h)

Analysiert die Elemente einer Instanzzeichenfolge.

Syntax

PDH_FUNCTION PdhParseInstanceNameW(
  [in]      LPCWSTR szInstanceString,
  [out]     LPWSTR  szInstanceName,
  [in, out] LPDWORD pcchInstanceNameLength,
  [out]     LPWSTR  szParentName,
  [in, out] LPDWORD pcchParentNameLength,
  [out]     LPDWORD lpIndex
);

Parameter

[in] szInstanceString

Null-terminated string, die die Instanzzeichenfolge angibt, die in einzelne Komponenten analysiert werden soll. Diese Zeichenfolge kann die folgenden Formate enthalten und ist kleiner als MAX_PATH Zeichen in der Länge:

  • Beispiel
  • instance#index
  • parent/instance
  • parent/instance#index

[out] szInstanceName

Vom Aufrufer zugewiesener Puffer, der den null--terminated instance name empfängt. Wird auf NULL- festgelegt, wenn pcchInstanceNameLength null ist.

[in, out] pcchInstanceNameLength

Größe des szInstanceName 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.

[out] szParentName

Vom Aufrufer zugewiesener Puffer, der den NULL--terminated-Name der übergeordneten Instanz empfängt, sofern angegeben. Wird auf NULL- festgelegt, wenn pcchParentNameLength null ist.

[in, out] pcchParentNameLength

Größe des szParentName 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.

[out] lpIndex

Indexwert der Instanz. Wenn kein Indexeintrag in der Zeichenfolge vorhanden ist, ist dieser Wert null. Dieser Parameter kann 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_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_MORE_DATA
Ein oder beide Zeichenfolgenpuffer sind zu klein, um die Daten zu enthalten. Dieser Rückgabewert wird erwartet, wenn der entsprechende Größenpuffer für 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_INSTANCE
Die Instanzzeichenfolge ist falsch formatiert, überschreitet MAX_PATH Zeichen länge oder kann nicht analysiert werden.

Bemerkungen

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

Anmerkung

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

PdhMakeCounterPath-