次の方法で共有


PdhExpandWildCardPathA 関数 (pdh.h)

指定したコンピューターまたはログ ファイルを調べ、ワイルドカード文字を含む特定のカウンター パスに一致するカウンター パスを返します。

データ ソースにハンドルを使用するには、PdhExpandWildCardPathH 関数を使用します。

構文

PDH_FUNCTION PdhExpandWildCardPathA(
  [in]      LPCSTR  szDataSource,
  [in]      LPCSTR  szWildCardPath,
  [out]     PZZSTR  mszExpandedPathList,
  [in, out] LPDWORD pcchPathListLength,
  [in]      DWORD   dwFlags
);

パラメーター

[in] szDataSource

ログ ファイルの名前を含む null-terminated 文字列です。 この関数は、ログ ファイルで定義されているパフォーマンス オブジェクトとカウンターを使用して、szWildCardPath パラメーターで指定されたパスを展開します。

NULL場合、関数は szWildCardPathで指定 コンピューターを検索します。

[in] szWildCardPath

展開するカウンター パスを指定する null-terminated 文字列です。 カウンター パスの最大長はPDH_MAX_COUNTER_PATH。

szDataSource パラメーターが NULL場合、関数はパスに指定されたコンピューターを検索して一致を検索します。 パスでコンピューターが指定されていない場合、関数はローカル コンピューターを検索します。

[out] mszExpandedPathList

szWildCardPathのワイルドカード指定に一致する、null終了カウンター パスの一覧を受け取る呼び出し元によって割り当てられたバッファー。 リストは、2 つの NULL 文字で終了します。 pcchPathListLength が 0 の場合 NULL を に設定します。

[in, out] pcchPathListLength

mszExpandedPathList バッファーのサイズ (TCHAR)。 入力にゼロが存在し、オブジェクトが存在する場合、関数はPDH_MORE_DATAを返し、このパラメーターを必要なバッファー サイズに設定します。 バッファーが必要なサイズより大きい場合、関数はこのパラメーターを使用したバッファーの実際のサイズに設定します。 入力で指定したサイズが 0 より大きく、必要なサイズより小さい場合は、返されたサイズに依存してバッファーを再割り当てしないでください。

Windows XP で必要なサイズに追加する必要があります。
 

[in] dwFlags

展開しないワイルドカード文字を示すフラグ。 1 つ以上のフラグを指定できます。

価値 意味
PDH_NOEXPANDCOUNTERS
パスにカウンター名のワイルドカード文字が含まれている場合は、カウンター名を展開しないでください。
PDH_NOEXPANDINSTANCES
パスに親インスタンス、インスタンス名、またはインスタンス インデックスのワイルドカード文字が含まれている場合は、インスタンス名を展開しないでください。
PDH_REFRESHCOUNTERS
カウンターの一覧を更新します。

戻り値

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

関数が失敗した場合、戻り値は システム エラー コード または PDH エラー コードです。

リターン コード 形容
PDH_MORE_DATA
mszExpandedPathList バッファー は、パスの一覧を格納するのに十分な大きさではありません。 この戻り値は、pcchPathListLength が入力時 ゼロの場合に予期されます。 入力で指定したサイズが 0 より大きく、必要なサイズより小さい場合は、返されたサイズに依存してバッファーを再割り当てしないでください。
PDH_INVALID_ARGUMENT
パラメーターが無効です。 たとえば、一部のリリースでは、入力で指定されたサイズが 0 より大きく、必要なサイズより小さい場合、このエラーが発生する可能性があります。
PDH_INVALID_PATH
指定したオブジェクトにインスタンスが含まれていません。
PDH_MEMORY_ALLOCATION_FAILURE
この関数をサポートするためにメモリを割り当てることができません。
PDH_CSTATUS_NO_OBJECT
指定したオブジェクトがコンピューターまたはログ ファイルで見つかりません。

備考

この関数を 2 回呼び出し、必要なバッファー サイズを取得する場合は 2 回 (mszExpandedPathList NULL を し、pcchPathListLength を 0 に )、2 回目にデータを取得する必要があります。

PdhExpandWildCardPath は、次の点で pdhExpandCounterPath とは異なります。

  1. 展開するワイルドカード文字を制御できます。
  2. ログ ファイルの内容は、カウンター名のソースとして使用できます。
一般的なカウンター パスの形式は次のとおりです。

\computer\object(parent/instance#index)\counter

カウンター パスの親、インスタンス、インデックス、およびカウンター コンポーネントには、有効な名前またはワイルドカード文字を含めることがあります。 コンピューター、親、インスタンス、インデックスのコンポーネントは、すべてのカウンターに必要なわけではありません。

使用できる形式の一覧を次に示します。

  • \\computer\object(parent/instance#index)\counter
  • \\computer\object(parent/instance)\counter
  • \\computer\object(instance#index)\counter
  • \\computer\object(instance)\counter
  • \\computer\object\counter
  • \object(parent/instance#index)\counter
  • \object(parent/instance)\counter
  • \object(instance#index)\counter
  • \object(instance)\counter
  • \object\counter
ワイルドカード文字としてアスタリスク (*) を使用します (例: \object(*)\counter)。

親名にワイルドカード文字が指定されている場合は、指定したインスタンスとカウンター フィールドに一致する指定したオブジェクトのすべてのインスタンスが返されます。 たとえば、\object(*/instance)\counter です。

インスタンス名にワイルドカード文字が指定されている場合、指定したインデックスに対応するすべてのインスタンス名がワイルドカード文字と一致する場合、指定したオブジェクトと親オブジェクトのすべてのインスタンスが返されます。 たとえば、\object(parent/*)\counter です。 オブジェクトにインスタンスが含まれていない場合は、エラーが発生します。

カウンター名にワイルドカード文字が指定されている場合は、指定したオブジェクトのすべてのカウンターが返されます。

部分的なカウンター パス文字列の一致 ("pro*" など) がサポートされています。

Windows Vista より前の : 部分ワイルドカード一致はサポートされていません。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー pdh.h
ライブラリ Pdh.lib
DLL Pdh.dll

関連項目

PdhEnumObjectItems

PdhEnumObjects

PdhExpandCounterPath を する

PdhExpandWildCardPathH