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 を指定し、関数をもう一度呼び出します。 |
その他 | 値は未定義であり、使用しないでください。 |
戻り値
リターン コード | 説明 |
---|---|
|
関数は、 pCounterBlock が指定したバッファーに、要求されたすべてのパフォーマンス カウンター値を正常に格納しました。 pcbCounterBlockActual が指す値は、バッファーに実際に格納されている情報の量をバイト単位で示します。 |
|
pCounterBlock が指定したバッファーが、要求されたすべてのパフォーマンス カウンター値を格納するのに十分な大きさではなかった。 pcbCounterBlockActual が指す値は、すべての情報を格納するために必要なバッファーのサイズを示します。 バッファーを必要なサイズに拡大する size を指定し、関数をもう一度呼び出します。 |
その他の種類のエラーの場合、戻り値は システム エラー コードです。
解説
パフォーマンス カウンターの値に関する情報は、 pCounterBlock が PERF_DATA_HEADER ブロックとして指定するバッファーに書き込まれます。これは、 構造体PERF_DATA_HEADER 続けて PERF_COUNTER_HEADER ブロックのシーケンスで構成されます。
要件
サポートされている最小のクライアント | Windows 10、バージョン 1607 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | perflib.h |
Library | AdvAPI32.lib |
[DLL] | AdvAPI32.dll |