Freigeben über


PerfAddCounters-Funktion (perflib.h)

Fügt der angegebenen Abfrage Leistungsindikatorspezifikationen hinzu.

Syntax

ULONG PerfAddCounters(
  [in]      HANDLE                   hQuery,
  [in, out] PPERF_COUNTER_IDENTIFIER pCounters,
            DWORD                    cbCounters
);

Parameter

[in] hQuery

Ein Handle für die Abfrage, der Sie Leistungsindikatorspezifikationen hinzufügen möchten.

[in, out] pCounters

Ein Zeiger auf die Leistungsindikatorspezifikationen, die Sie hinzufügen möchten.

cbCounters

Die Größe des Puffers, den der pCounters-Parameter in Bytes angibt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode.

Hinweise

Der pCounters-Parameter sollte auf eine Sequenz von PERF_COUNTER_IDENTIFIER Blöcken verweisen. Jeder PERF_COUNTER_IDENTIFIER-Block besteht aus einer PERF_COUNTER_IDENTIFIER-Struktur, optional gefolgt von einer NULL-beendeten UTF-16LE-instance Namenszeichenfolge, gefolgt von einer Auffüllung, die die Größe des Blocks zu einem Vielfachen von 8 Bytes macht.

Für jeden PERF_COUNTER_IDENTIFIER Block:

  • Legen Sie das CounterSetGuid-Element der PERF_COUNTER_IDENTIFIER-Struktur auf den Bezeichner des abzufragten Zählersatzes fest.
  • Legen Sie das Statuselement der PERF_COUNTER_IDENTIFIER-Struktur auf 0 fest.
  • Legen Sie Size-Member der PERF_COUNTER_IDENTIFIER-Struktur auf die Größe des PERF_COUNTER_IDENTIFIER Blocks in Bytes fest, einschließlich der PERF_COUNTER_IDENTIFIER-Struktur, des instance Namens und der Auffüllung. Der Wert von Size muss ein Vielfaches von 8 sein.
  • Legen Sie das CounterId-Element der PERF_COUNTER_IDENTIFIER-Struktur auf den Bezeichner des Zählers fest, der von der Abfrage zurückgegeben werden soll. Um alle Leistungsindikatoren zurückzugeben, legen Sie CounterId auf PERF_WILDCARD_COUNTER fest.
  • Legen Sie das InstanceId-Element der PERF_COUNTER_IDENTIFIER-Struktur auf den Bezeichner des instance fest, der von der Abfrage zurückgegeben werden soll. Wenn keine Filterung basierend auf instance Bezeichner erfolgen soll, legen Sie InstanceId auf PERF_WILDCARD_COUNTER fest.
  • Legen Sie das Indexelement der PERF_COUNTER_IDENTIFIER-Struktur auf 0 fest.
  • Legen Sie das reservierte Element der PERF_COUNTER_IDENTIFIER-Struktur auf 0 fest.
  • Fügen Sie den instance Namen unmittelbar nach der PERF_COUNTER_IDENTIFIER-Struktur ein.
    • Wenn der Zählersatz instance ist, legen Sie den instance Namen nicht fest. In diesem Fall muss der Wert des Size-Elements der PERF_COUNTER_IDENTIFIER-Struktur die Größe der PERF_COUNTER_IDENTIFIER-Struktur sein.
    • Wenn der Zählersatz mehrere instance ist, müssen Sie den instance Namen festlegen. Wenn Sie die Leistungsindikatorspezifikationen nicht basierend auf instance Namen filtern möchten, verwenden Sie PERF_WILDCARD_INSTANCE als instance Namen.
PerfAddCounters versucht, der Abfrage für jeden PERF_COUNTER_IDENTIFIER-Block eine Zählerspezifikation hinzuzufügen, und aktualisiert den Statusmember der PERF_COUNTER_IDENTIFIER-Struktur in jedem Block mit dem Ergebnis des Versuchs.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10, Version 1607 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile perflib.h
Bibliothek AdvAPI32.lib
DLL AdvAPI32.dll

Weitere Informationen

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters