PdhParseInstanceNameW 関数 (pdh.h)

インスタンス文字列の要素を解析します。

構文

PDH_FUNCTION PdhParseInstanceNameW(
  [in]      LPCWSTR szInstanceString,
  [out]     LPWSTR  szInstanceName,
  [in, out] LPDWORD pcchInstanceNameLength,
  [out]     LPWSTR  szParentName,
  [in, out] LPDWORD pcchParentNameLength,
  [out]     LPDWORD lpIndex
);

パラメーター

[in] szInstanceString

個々のコンポーネントに解析するインスタンス文字列を指定する Null で終わる文字列。 この文字列には、次の形式を含めることができます。長さがMAX_PATH文字未満です。

  • instance
  • instance#index
  • parent/instance
  • parent/instance#index

[out] szInstanceName

null で終わるインスタンス名を受け取る呼び出し元によって割り当てられたバッファー。 pcchInstanceNameLength が 0 の場合は NULL に設定します。

[in, out] pcchInstanceNameLength

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

[out] szParentName

親インスタンスの null で終わる名前を受け取る呼び出し元によって割り当てられたバッファー (指定されている場合)。 pcchParentNameLength が 0 の場合は NULL に設定します。

[in, out] pcchParentNameLength

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

[out] lpIndex

インスタンスのインデックス値。 インデックス エントリが文字列に存在しない場合、この値は 0 になります。 このパラメーターは、NULL でもかまいません。

戻り値

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

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

リターン コード 説明
PDH_INVALID_ARGUMENT
パラメーターが無効です。 たとえば、一部のリリースでは、入力時に指定されたサイズが 0 より大きく、必要なサイズより小さい場合に、このエラーが発生する可能性があります。
PDH_MORE_DATA
文字列バッファーの一方または両方が小さすぎてデータを格納しきれなすぎます。 この戻り値は、入力時に対応するサイズ バッファーが 0 の場合に想定されます。 入力で指定したサイズが 0 より大きく、必要なサイズより小さい場合は、返されるサイズに依存してバッファーを再割り当てしないでください。
PDH_INVALID_INSTANCE
インスタンス文字列の形式が正しくないか、長さがMAX_PATH文字を超えているか、解析できません。

解説

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

注意

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

要件

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

関連項目

PdhMakeCounterPath