PdhAddCounterW 関数 (pdh.h)

指定したカウンターをクエリに追加します。

構文

PDH_FUNCTION PdhAddCounterW(
  [in]  PDH_HQUERY   hQuery,
  [in]  LPCWSTR      szFullCounterPath,
  [in]  DWORD_PTR    dwUserData,
  [out] PDH_HCOUNTER *phCounter
);

パラメーター

[in] hQuery

カウンターを追加するクエリを処理します。 このハンドルは 、PdhOpenQuery 関数によって返されます。

[in] szFullCounterPath

カウンター パスを含む Null で終わる文字列。 カウンター パスの形式の詳細については、「カウンター パス の指定」を参照してください。 カウンター パスの最大長はPDH_MAX_COUNTER_PATH。

[in] dwUserData

ユーザー定義値。 この値はカウンター情報の一部になります。 この値を後で取得するには、 PdhGetCounterInfo 関数を呼び出し、PDH_COUNTER_INFO構造体の dwUserData メンバー アクセスします。

[out] phCounter

クエリに追加されたカウンターを処理します。 後続の呼び出しでこのハンドルを参照する必要がある場合があります。

戻り値

関数が成功した場合は、ERROR_SUCCESSを返します。

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

リターン コード 説明
PDH_CSTATUS_BAD_COUNTERNAME
カウンター パスを解析または解釈できませんでした。
PDH_CSTATUS_NO_COUNTER
指定したカウンターがコンピューターまたはログ ファイルで見つかりません。
PDH_CSTATUS_NO_COUNTERNAME
カウンター パスが空です。
PDH_CSTATUS_NO_MACHINE
パスにコンピューター名が含まれなかったため、関数はローカル コンピューター名を取得できませんでした。
PDH_CSTATUS_NO_OBJECT
指定したオブジェクトがコンピューターまたはログ ファイルで見つかりません。
PDH_FUNCTION_NOT_FOUND
このカウンターに使用する計算関数を特定できません。
PDH_INVALID_ARGUMENT
1 つ以上の引数が無効です。
PDH_INVALID_HANDLE
クエリ ハンドルが無効です。
PDH_MEMORY_ALLOCATION_FAILURE
関数を完了するために必要なメモリを割り当てることができません。

注釈

カウンター パスにワイルドカード文字が含まれている場合、ワイルドカード文字と一致するすべてのカウンター名がクエリに追加されます。

まだ存在しないカウンター インスタンスが指定されている場合、 PdhAddCounter はエラー状態を報告しません。 代わりに、ERROR_SUCCESSを返します。 この動作の理由は、存在しないカウンター インスタンスが指定されているかどうか、または存在するが作成されていないかどうかが不明であるためです。

クエリからカウンターを削除するには、 PdhRemoveCounter 関数を使用します。

例については、「 パフォーマンス カウンターの参照 」または 「ログ ファイルからのパフォーマンス データの読み取り」を参照してください。

注意

pdh.h ヘッダーは、PdhAddCounter をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー pdh.h
Library Pdh.lib
[DLL] Pdh.dll

こちらもご覧ください

PdhAddEnglishCounter

PdhBrowseCounters

PdhMakeCounterPath

PdhOpenQuery

PdhRemoveCounter