次の方法で共有


PerfAddCounters 関数 (perflib.h)

指定したクエリにパフォーマンス カウンターの仕様を追加します。

構文

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

パラメーター

[in] hQuery

パフォーマンス カウンターの仕様を追加するクエリへのハンドル。

[in, out] pCounters

追加するパフォーマンス カウンター仕様へのポインター。

cbCounters

pCounters パラメーターが指定するバッファーのサイズ (バイト単位)。

戻り値

関数が成功すると、ERROR_SUCCESSが返されます。

関数が失敗した場合、戻り値は システム エラー コードです。

解説

pCounters パラメーターは、PERF_COUNTER_IDENTIFIER ブロックのシーケンスを指している必要があります。 各 PERF_COUNTER_IDENTIFIER ブロックは 、PERF_COUNTER_IDENTIFIER 構造体で構成され、必要に応じて null で終わる UTF-16LE インスタンス名文字列が続き、その後にブロックのサイズが 8 バイトの倍数になるパディングが続きます。

PERF_COUNTER_IDENTIFIER ブロックごとに、次の手順 実行します。

  • PERF_COUNTER_IDENTIFIER構造体の CounterSetGuid メンバーを、クエリ対象のカウンター セットの識別子に設定します。
  • PERF_COUNTER_IDENTIFIER構造体の Status メンバーを 0 に設定します。
  • PERF_COUNTER_IDENTIFIER構造体の Size メンバーを、PERF_COUNTER_IDENTIFIER構造体、インスタンス名、パディングなど、PERF_COUNTER_IDENTIFIER ブロックのサイズ (バイト単位) に設定します。 Size の値は 8 の倍数である必要があります。
  • PERF_COUNTER_IDENTIFIER構造体の CounterId メンバーを、クエリによって返されるカウンターの識別子に設定します。 すべてのカウンターを返すには、 CounterId をPERF_WILDCARD_COUNTER に設定します。
  • PERF_COUNTER_IDENTIFIER構造体の InstanceId メンバーを、クエリによって返されるインスタンスの識別子に設定します。 インスタンス識別子に基づいてフィルター処理を行う必要がない場合は、 InstanceIdPERF_WILDCARD_COUNTER に設定します。
  • PERF_COUNTER_IDENTIFIER構造体の Index メンバーを 0 に設定します。
  • PERF_COUNTER_IDENTIFIER構造体の予約済みメンバーを 0 に設定します。
  • PERF_COUNTER_IDENTIFIER構造体の直後にインスタンス名を含めます。
    • カウンター セットが単一インスタンスの場合は、インスタンス名を設定しないでください。 この場合、 PERF_COUNTER_IDENTIFIER 構造体の Size メンバーの値は 、PERF_COUNTER_IDENTIFIER 構造体のサイズである必要があります。
    • カウンター セットが複数インスタンスの場合は、インスタンス名を設定する必要があります。 インスタンス名に基づいてパフォーマンス カウンターの仕様をフィルター処理しない場合は、インスタンス名として PERF_WILDCARD_INSTANCE を使用します。
PerfAddCounters はPERF_COUNTER_IDENTIFIER ブロックごとに 1 つのカウンター仕様をクエリに追加しようと試み、各ブロックのPERF_COUNTER_IDENTIFIER構造体の Status メンバーを、試行の結果に更新します。

要件

   
サポートされている最小のクライアント Windows 10、バージョン 1607 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー perflib.h
Library AdvAPI32.lib
[DLL] AdvAPI32.dll

関連項目

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters