PdhLookupPerfNameByIndexW 関数 (pdh.h)

指定したインデックスに対応するパフォーマンス オブジェクト名またはカウンター名を返します。

構文

PDH_FUNCTION PdhLookupPerfNameByIndexW(
  [in]      LPCWSTR szMachineName,
  [in]      DWORD   dwNameIndex,
  [out]     LPWSTR  szNameBuffer,
  [in, out] LPDWORD pcchNameBufferSize
);

パラメーター

[in] szMachineName

指定したパフォーマンス オブジェクトまたはカウンターが配置されているコンピューターの名前を指定する Null で終わる文字列。 コンピューター名は、DNS 名または IP アドレスで指定できます。 NULL の場合、関数はローカル コンピューターを使用します。

[in] dwNameIndex

パフォーマンス オブジェクトまたはカウンターのインデックス。

[out] szNameBuffer

パフォーマンス オブジェクトまたはカウンターの null で終わる名前を受け取る呼び出し元によって割り当てられたバッファー。 pcchNameBufferSize が 0 の場合は NULL に設定します。

[in, out] pcchNameBufferSize

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

戻り値

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

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

リターン コード 説明
PDH_MORE_DATA
szNameBuffer バッファーは、カウンター名を格納するのに十分な大きさではありません。 この戻り値は、入力時 に pcchNameBufferSize が 0 の場合に想定されます。 入力時に指定したサイズが 0 より大きく、必要なサイズより小さい場合は、返されたサイズに依存してバッファーを再割り当てしないでください。
PDH_INVALID_ARGUMENT
パラメーターが無効であるか、正しく書式設定されていません。 たとえば、一部のリリースでは、入力の指定されたサイズが 0 より大きく、必要なサイズより小さい場合に、このエラーが発生する可能性があります。

注釈

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

Windows XP: バッファーとバッファー サイズを指定する必要があります。 この関数は 、pcchNameBufferSize を、必要なサイズまたは使用されたバッファーのサイズに設定します。 バッファーが小さすぎる場合、関数はPDH_MORE_DATAではなくPDH_INSUFFICIENT_BUFFERを返します。 最大文字列サイズ (バイト単位) は PDH_MAX_COUNTER_NAME * sizeof(TCHAR) です。

指定するインデックス値は、コンピューターに読み込まれたオブジェクトまたはカウンターに関連付けられているインデックス値のいずれかと一致する必要があります。 インデックスと名前の値のペアは、次のレジストリの場所にある Counters レジストリ値に格納されます。

HKEY_LOCAL_MACHINE
   \SOFTWARE
      \Microsoft
         \Windows NT
            \CurrentVersion
               \Perflib
                  Last Counter = highest counter index
                  Last Help = highest help index
                  \009
                     Counters = 2 System 4 Memory...
                     Help = 3 The System Object Type...
                  \supported language, other than English
                     Counters = ...
                     Help = ...

注意

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

要件

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

こちらもご覧ください

PdhLookupPerfIndexByName