次の方法で共有


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

書式設定された値のデータ型を決定します。 次のいずれかの値を指定します。

意味
PDH_FMT_DOUBLE
倍精度浮動小数点実数としてデータを返します。
PDH_FMT_LARGE
データを 64 ビット整数として返します。
PDH_FMT_LONG
長整数としてデータを返します。
 

ビットごとの包括 OR 演算子 (|) を使用して、データ型を次のいずれかのスケーリング 要因と組み合わせることができます。

意味
PDH_FMT_NOSCALE
カウンターの既定の倍率は適用しないでください。
PDH_FMT_NOCAP100
100 より大きいカウンター値 (たとえば、マルチプロセッサ コンピューターのプロセッサ負荷を測定するカウンター値) は 100 にリセットされません。 既定の動作では、カウンター値の上限は 100 です。
PDH_FMT_1000
実際の値に 1,000 を掛けます。

[out] lpdwType

カウンターの種類を受け取ります。 カウンターの種類の一覧については、 Windows Server 2003 展開キットのカウンターの種類に関するセクションを参照してください。 このパラメーターは省略可能です。

[out] pValue

カウンター値を受け取る PDH_FMT_COUNTERVALUE 構造体。

戻り値

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

関数が失敗した場合、戻り値は システム エラー コード または PDH エラー コードです。 使用できる値を次に示します。

リターン コード 説明
PDH_INVALID_ARGUMENT
パラメーターが無効であるか、正しく書式設定されていません。
PDH_INVALID_DATA
指定されたカウンターに、有効なデータまたは正常な状態コードが含まれていません。
PDH_INVALID_HANDLE
カウンター ハンドルが無効です。

注釈

カウンターのデータは、 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

こちらもご覧ください

PdhCollectQueryData

PdhGetRawCounterValue

PdhSetCounterScaleFactor