PerfQueryCounterInfo 関数 (perflib.h)

指定したクエリのカウンター仕様を取得します。

構文

ULONG PerfQueryCounterInfo(
  [in]            HANDLE                   hQuery,
  [out, optional] PPERF_COUNTER_IDENTIFIER pCounters,
                  DWORD                    cbCounters,
  [out]           LPDWORD                  pcbCountersActual
);

パラメーター

[in] hQuery

カウンター仕様を取得するクエリのハンドル

[out, optional] pCounters

cbCounters パラメーターが指定するデータ量をバイト単位で保持するのに十分な大きさのバッファーへのポインター。 cbCounters が 0 の場合は NULL を指定できます。

cbCounters

pCounters バッファーのサイズ (バイト単位)。

[out] pcbCountersActual

カウンター仕様を取得するために実際に必要なバッファーのサイズ。 意味は、関数の値によって異なります

返します。

関数の戻り値 pcbCountersActual の意味
ERROR_SUCCESS の数

pCounters が指定したバッファーに関数が格納したカウンター仕様に関する情報のバイト数。

ERROR_NOT_ENOUGH_MEMORY 次に、

カウンター仕様に関する情報を格納するために必要なバッファーのサイズ (バイト単位)。 バッファーを必要に応じて拡大します。

size し、関数をもう一度呼び出します。

その他 値は未定義であり、使用しないでください。

戻り値

リターン コード 説明
ERROR_SUCCESS
関数は、カウンター仕様に関するすべての情報を 、pCounters が指定したバッファーに正常に格納しました。 pcbCountersActual が指す値は、バッファーに実際に格納されている情報の量をバイト単位で示します。
ERROR_NOT_ENOUGH_MEMORY
pCounters が指定したバッファーは、カウンター仕様に関するすべての情報を格納するのに十分な大きさではありません。 pcbCountersActual が指す値は、すべての情報を格納するために必要なバッファーのサイズを示します。 バッファーを必要に応じて拡大します。

size し、関数をもう一度呼び出します。

 

その他の種類のエラーの場合、戻り値は システム エラー コードです。

注釈

カウンター仕様に関する情報は、 pCounters がPERF_COUNTER_IDENTIFIER ブロックのシーケンスとして指定するバッファー 書き込まれます。 のサイズ (バイト単位)

ブロックのシーケンスは pcbCountersActual に書き込まれます。 各 PERF_COUNTER_IDENTIFIER ブロックは、

PERF_COUNTER_IDENTIFIER構造体の後に null で終わる UTF-16LE が必要に応じて続く

インスタンス名の後にパディングが続き、 のサイズが

PERF_COUNTER_IDENTIFIER ブロックは 8 バイトの倍数です。 PERF_COUNTER_IDENTIFIER構造体、インスタンス名、パディングを含む各ブロックのサイズは、PERF_COUNTER_IDENTIFIER構造体の Size メンバーによって決まります。これは 8 バイトの倍数になります。

要件

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

こちらもご覧ください

PERF_COUNTER_IDENTIFIER