PdhParseInstanceNameW-Funktion (pdh.h)

Analysiert die Elemente einer instance Zeichenfolge.

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-beendete Zeichenfolge, die die instance Zeichenfolge angibt, die in einzelne Komponenten analysiert werden soll. Diese Zeichenfolge kann die folgenden Formate enthalten und ist kleiner als MAX_PATH Zeichen lang:

  • instance
  • instance#index
  • parent/instance
  • übergeordnete/instance#index

[out] szInstanceName

Vom Aufrufer zugewiesener Puffer, der den null-beendeten instance Namen empfängt. Legen Sie auf NULL fest, wenn pcchInstanceNameLength 0 ist.

[in, out] pcchInstanceNameLength

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

[out] szParentName

Vom Aufrufer zugewiesener Puffer, der den null-beendeten Namen des übergeordneten instance empfängt, sofern einer angegeben ist. Legen Sie auf NULL fest, wenn pcchParentNameLength 0 ist.

[in, out] pcchParentNameLength

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

[out] lpIndex

Indexwert des instance. Wenn in der Zeichenfolge kein Indexeintrag vorhanden ist, ist dieser Wert 0. Dieser Parameter kann 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
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.
PDH_MORE_DATA
Einer oder beide Zeichenfolgenpuffer sind zu klein, um die Daten zu enthalten. Dieser Rückgabewert wird erwartet, wenn der entsprechende Größenpuffer 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_INSTANCE
Die instance Zeichenfolge ist falsch formatiert, überschreitet MAX_PATH Zeichen in der Länge oder kann nicht analysiert werden.

Hinweise

Sie sollten diese Funktion zweimal aufrufen, zum ersten Mal zum Abrufen der erforderlichen Puffergröße (festlegen der Puffer auf NULL und Puffergrößen auf 0) und beim zweiten Mal zum Abrufen der Daten.

Hinweis

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

   
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

PdhMakeCounterPath