PerfQueryCounterData 関数 (perflib.h)

指定したクエリのカウンター仕様に一致するパフォーマンス カウンターの値を取得します。

構文

ULONG PerfQueryCounterData(
  [in]            HANDLE            hQuery,
  [out, optional] PPERF_DATA_HEADER pCounterBlock,
                  DWORD             cbCounterBlock,
  [out]           LPDWORD           pcbCounterBlockActual
);

パラメーター

[in] hQuery

値を取得するパフォーマンス カウンターのカウンター仕様に対するクエリへのハンドル。

[out, optional] pCounterBlock

cbCounterBlock パラメーターが指定するデータの量をバイト単位で受け取るのに十分な領域を持つバッファーへのポインター。 場合は NULL になる可能性があります

cbCounterBlock は 0 です。

cbCounterBlock

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

[out] pcbCounterBlockActual

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

返します。

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

pCounterBlock が指定したバッファーに関数が格納したパフォーマンス カウンター値のバイト数。

ERROR_NOT_ENOUGH_MEMORY 次に、

パフォーマンス カウンター値を格納するために必要なバッファーのサイズ (バイト単位)。 バッファーを必要なサイズに拡大する

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

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

戻り値

リターン コード 説明
ERROR_SUCCESS
関数は、 pCounterBlock が指定したバッファーに、要求されたすべてのパフォーマンス カウンター値を正常に格納しました。 pcbCounterBlockActual が指す値は、バッファーに実際に格納されている情報の量をバイト単位で示します。
ERROR_NOT_ENOUGH_MEMORY
pCounterBlock が指定したバッファーが、要求されたすべてのパフォーマンス カウンター値を格納するのに十分な大きさではなかった。 pcbCounterBlockActual が指す値は、すべての情報を格納するために必要なバッファーのサイズを示します。 バッファーを必要なサイズに拡大する

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

 

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

解説

パフォーマンス カウンターの値に関する情報は、 pCounterBlockPERF_DATA_HEADER ブロックとして指定するバッファーに書き込まれます。これは、 構造体PERF_DATA_HEADER 続けて PERF_COUNTER_HEADER ブロックのシーケンスで構成されます。

要件

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

関連項目

PERF_COUNTER_HEADER

PERF_DATA_HEADER