PdhExpandWildCardPathHW-Funktion (pdh.h)

Untersucht den angegebenen Computer oder die angegebene Protokolldatei und gibt die Indikatorenpfade zurück, die dem angegebenen Indikatorenpfad entsprechen, der Einen Feldzeichen enthält.

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

Syntax

PDH_FUNCTION PdhExpandWildCardPathHW(
  [in]      PDH_HLOG hDataSource,
  [in]      LPCWSTR  szWildCardPath,
  [out]     PZZWSTR  mszExpandedPathList,
  [in, out] LPDWORD  pcchPathListLength,
  [in]      DWORD    dwFlags
);

Parameter

[in] hDataSource

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

[in] szWildCardPath

Null-beendete Zeichenfolge, die den zu erweiternden Zählerpfad angibt. Die maximale Länge eines Zählerpfads ist PDH_MAX_COUNTER_PATH.

Wenn hDataSource eine Echtzeitdatenquelle ist, durchsucht die Funktion den im Pfad angegebenen Computer nach Übereinstimmungen. Wenn der Pfad keinen Computer angibt, durchsucht die Funktion den lokalen Computer.

[out] mszExpandedPathList

Vom Aufrufer zugewiesener Puffer, der eine Liste mit null-beendeten Zählerpfaden empfängt, die der Feldhalterspezifikation in szWildCardPath entsprechen. Die Liste wird durch zwei NULL-Zeichen beendet. Legen Sie auf NULL fest, wenn pcchPathListLength 0 ist.

[in, out] pcchPathListLength

Größe des mszExpandedPathList-Puffers in TCHARs. Wenn null für die Eingabe und das Objekt vorhanden ist, 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.

Hinweis Sie müssen eine der erforderlichen Größe unter Windows XP hinzufügen.
 

[in] dwFlags

Flags, die angeben, welche Wildcardzeichen nicht erweitert werden sollen. Sie können mindestens ein Flag angeben.

Wert Bedeutung
PDH_NOEXPANDCOUNTERS
Erweitern Sie den Zählernamen nicht, wenn der Pfad ein Feldhalterzeichen für den Zählernamen enthält.
PDH_NOEXPANDINSTANCES
Erweitern Sie den instance Namen nicht, wenn der Pfad ein Feldhalterzeichen für übergeordnete instance, instance Namen oder instance Index enthält.
PDH_REFRESHCOUNTERS
Aktualisieren Sie die Leistungsindikatorenliste.

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.

Rückgabecode Beschreibung
PDH_MORE_DATA
Der Puffer mszExpandedPathList ist nicht groß genug, um die Liste der Pfade zu enthalten. Dieser Rückgabewert wird erwartet, wenn pcchPathListLength 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.
PDH_MEMORY_ALLOCATION_FAILURE
Speicher kann nicht zugewiesen werden, um diese Funktion zu unterstützen.
PDH_CSTATUS_NO_OBJECT
Das angegebene Objekt kann nicht auf dem Computer oder in der Protokolldatei gefunden werden.

Hinweise

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

PdhExpandWildCardPathH unterscheidet sich in folgender Weise von PdhExpandCounterPath :

  1. Hiermit können Sie steuern, welche Wildcardzeichen erweitert werden.
  2. Der Inhalt einer Protokolldatei kann als Quelle von Zählernamen verwendet werden.
Das allgemeine Format des Indikatorpfads lautet wie folgt:

\computer\object(parent/instance#index)\counter

Die Komponenten übergeordneter, instance, Index und Zähler des Zählerpfads können entweder einen gültigen Namen oder ein Feldhalterzeichen enthalten. Die Computer-, übergeordneten, instance- und Indexkomponenten sind nicht für alle Indikatoren erforderlich.

Im Folgenden ist eine Liste der möglichen Formate aufgeführt:

  • \\computer\object(parent/instance#index)\counter
  • \\computer\object(parent/instance)\counter
  • \\computer\object(instance#index)\counter
  • \\computer\object(instance)\counter
  • \\computer\object\counter
  • \object(parent/instance#index)\counter
  • \object(parent/instance)\counter
  • \object(instance#index)\counter
  • \object(instance)\counter
  • \object\counter
Verwenden Sie ein Sternchen (*) als Platzhalterzeichen, z. B. \object(*)\counter.

Wenn im übergeordneten Namen ein Feldhalterzeichen angegeben ist, werden alle Instanzen des angegebenen Objekts zurückgegeben, die den angegebenen instance- und Zählerfeldern entsprechen. Beispiel: \object(*/instance)\counter.

Wenn im instance Namen ein Feldhalterzeichen angegeben ist, werden alle Instanzen des angegebenen Objekts und des übergeordneten Objekts zurückgegeben, wenn alle instance Namen, die dem angegebenen Index entsprechen, mit dem Feldhalterzeichen übereinstimmen. Beispiel: \object(parent/*)\counter.

Wenn im Leistungsindikatornamen ein Feldhalterzeichen angegeben ist, werden alle Leistungsindikatoren des angegebenen Objekts zurückgegeben.

Partielle Übereinstimmungen mit Zählerpfadzeichenfolgen (z. B. "pro*") werden unterstützt.

Vor Windows Vista: Partielle Wildcard-Übereinstimmungen werden nicht unterstützt.

Hinweis

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

PdhBindInputDataSourceA-Funktion

PdhEnumObjectItemsHA-Funktion

PdhEnumObjectsHA-Funktion

PdhExpandWildCardPathW-Funktion