PdhGetFormattedCounterValue 関数 (pdh.h)
指定したカウンターの表示可能な値を計算します。
構文
PDH_FUNCTION PdhGetFormattedCounterValue(
[in] PDH_HCOUNTER hCounter,
[in] DWORD dwFormat,
[out] LPDWORD lpdwType,
[out] PPDH_FMT_COUNTERVALUE pValue
);
パラメーター
[in] hCounter
表示可能な値を計算するカウンターのハンドル。 PdhAddCounter 関数は、このハンドルを返します。
[in] dwFormat
書式設定された値のデータ型を決定します。 次のいずれかの値を指定します。
値 | 意味 |
---|---|
|
倍精度浮動小数点実数としてデータを返します。 |
|
データを 64 ビット整数として返します。 |
|
長整数としてデータを返します。 |
ビットごとの包括 OR 演算子 (|) を使用して、データ型を次のいずれかのスケーリング 要因と組み合わせることができます。
値 | 意味 |
---|---|
|
カウンターの既定の倍率は適用しないでください。 |
|
100 より大きいカウンター値 (たとえば、マルチプロセッサ コンピューターのプロセッサ負荷を測定するカウンター値) は 100 にリセットされません。 既定の動作では、カウンター値の上限は 100 です。 |
|
実際の値に 1,000 を掛けます。 |
[out] lpdwType
カウンターの種類を受け取ります。 カウンターの種類の一覧については、 Windows Server 2003 展開キットのカウンターの種類に関するセクションを参照してください。 このパラメーターは省略可能です。
[out] pValue
カウンター値を受け取る PDH_FMT_COUNTERVALUE 構造体。
戻り値
関数が成功すると、ERROR_SUCCESSが返されます。
関数が失敗した場合、戻り値は システム エラー コード または PDH エラー コードです。 使用できる値を次に示します。
リターン コード | 説明 |
---|---|
|
パラメーターが無効であるか、正しく書式設定されていません。 |
|
指定されたカウンターに、有効なデータまたは正常な状態コードが含まれていません。 |
|
カウンター ハンドルが無効です。 |
注釈
カウンターのデータは、 PdhGetFormattedCounterValue の呼び出し中にロック (保護) され、呼び出しの処理中に変更が行われるのを防ぎます。 データを読み取る (この関数を正常に呼び出す) と、カウンターのデータ変更フラグがクリアされます。
レート カウンターなどの一部のカウンターでは、表示可能な値を計算するために 2 つのカウンター値が必要です。 この場合、PdhGetFormattedCounterValue を呼び出す前に PdhCollectQueryData を 2 回呼び出す必要があります。 詳細については、「 パフォーマンス データの収集」を参照してください。
指定したカウンター インスタンスが存在しない場合、メソッドは PDH_INVALID_DATAを返し、PDH_FMT_COUNTERVALUE構造体の CStatus メンバーを PDH_CSTATUS_NO_INSTANCE に設定します。
Windows Server 2003 より前: インスタンスが見つからない場合、1 つの値のみを必要とするカウンターでは、形式呼び出しが失敗する可能性があります。 クエリを呼び出して、もう一度呼び出しを書式設定してみてください。 フォーマット呼び出しが 2 回目に失敗した場合、インスタンスは見つかりません。 または、更新オプションを TRUE に設定して PdhEnumObjects 関数を呼び出して、カウンター データのクエリと書式設定を行う前にカウンター インスタンスを更新することもできます。
例
例については、「 パフォーマンス カウンターの参照 」または 「ログ ファイルからのパフォーマンス データの読み取り」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | pdh.h |
Library | Pdh.lib |
[DLL] | Pdh.dll |