PdhEnumObjectItems

指定したコンピュータ上で、指定したオブジェクトによって提供されるカウンタとインスタンスを取得します。

PDH_STATUS PdhEnumObjectItems(
  IN LPCTSTR szDataSource, 
  IN LPCTSTR szMachineName,  // コンピュータ名
  IN LPCTSTR szObjectName,  // オブジェクト名
  IN LPTSTR mszCounterList,  // カウンタを受け取るバッファ
  IN LPDWORD pcchCounterListLength,
 // カウンタを受け取るバッファのサイズ
  IN LPTSTR mszInstanceList,  // インスタンスを受け取るバッファ
  IN LPDWORD pcchInstanceListLength,
 // インスタンスを受け取るバッファのサイズ
  IN DWORD dwDetailLevel,  // 詳細レベル
  IN DWORD dwFlags        // 形式フラグ
);

パラメータ

szDataSource
Windows 2000:ログファイル名を表わす NULL で終わる文字列または終端の NULL だけを指定します。ログファイル名を指定した場合は、パフォーマンスデータがログファイルから取得されます。NULL だけを指定した場合は、リアルタイムのデータソースからパフォーマンスデータが取得されます。
Windows NT 4.0:予約されています。NULL を指定してください。
szMachineName
コンピュータの名前を指定します。このコンピュータ上のオブジェクト項目のリストを取得します。指定したコンピュータが現在接続中のコンピュータのリストに含まれていない場合は、PDH によってそのコンピュータへの接続が試みられます。
szObjectName
指定したコンピュータ上のオブジェクトの名前を指定します。このオブジェクトから項目のリストを取得します。
mszCounterList
指定したコンピュータ上の、指定したオブジェクトによって提供されるパフォーマンスカウンタの MULTI_SZ リストを受け取るバッファへのポインタを指定します。このバッファは呼び出し側関数が確保します。pcchCounterListLength パラメータが指す DWORD 変数の値が 0 の場合は、このパラメータに NULL を指定できます。
pcchCounterListLength
DWORD 変数へのポインタを指定します。この変数は、mszCounterList パラメータが指すバッファのサイズ( 文字数)に設定しておきます。関数から制御が戻るとき、バッファに取得したデータのサイズに設定されます。0 に設定して関数を呼び出すと、mszCounterList パラメータが指すバッファにデータは格納されません。この変数は、データの格納に必要なバッファのサイズに設定されます。どちらのサイズにも、MULTI_SZ 文字列の終端の NULL 文字が含まれます。
mszInstanceList
指定したコンピュータ上の、指定したオブジェクトのインスタンスの MULTI_SZ リストを受け取るバッファへのポインタを指定します。このバッファは呼び出し側関数が確保します。pcchCounterListLength パラメータが指す DWORD 変数の値が 0 の場合は、このパラメータに NULL を指定できます。
pcchInstanceListLength
DWORD 変数へのポインタを指定します。この変数は、mszInstanceList パラメータが指すバッファのサイズ( 文字数)に設定しておきます。関数から制御が戻るとき、バッファに取得したデータのサイズに設定されます。0 に設定して関数を呼び出すと、mszInstanceList パラメータが指すバッファにデータは格納されません。この変数は、データの格納に必要なバッファのサイズに設定されます。どちらのサイズにも、MULTI_SZ 文字列の終端の NULL 文字が含まれます。この変数は、指定したオブジェクトが変数インスタンスをサポートしていない場合は、0 に設定されます。指定したオブジェクトが変数インスタンスをサポートしていても、そのオブジェクトが現在インスタンスを持っていない場合は、2 に設定されます。この値は、空の MULTI_SZ リスト文字列のサイズ( 文字数)です。
dwDetailLevel
取得するパフォーマンス項目の詳細レベルを指定します。指定したこの詳細レベルか、それよりも低い詳細レベルのすべての項目が得られます。
説明
PERF_DETAIL_NOVICE 初心者ユーザーレベルの詳細。
PERF_DETAIL_ADVANCED 上級ユーザーレベルの詳細。初心ユーザーレベルの詳細も含まれます。
PERF_DETAIL_EXPERT 専門家ユーザーレベルの詳細。初心ユーザーレベルおよび高度ユーザーレベルの詳細も含まれます。
PERF_DETAIL_WIZARD システム設計者レベルの詳細。すべての詳細レベルが含まれます。
dwFlags
0 を指定してください。

戻り値

関数が成功すると、ERROR_SUCCESS が返ります。
関数が失敗すると、PDHMSG.H ヘッダーファイルで定義されている PDH エラーステータスが返ります。次のいずれかの値が返ります。

エラー値 説明
PDH_MORE_DATA 取得可能なエントリのすべてをバッファに入れることができません。一部のエントリはバッファに格納されていることがあります。
PDH_INSUFFICIENT_BUFFER 用意したバッファが小さすぎて、データをまったく格納できません。
PDH_INVALID_ARGUMENT 必要な引数が無効か、予約済み引数に NULL 以外を指定しました。
PDH_MEMORY_ALLOCATION_FAILURE 必要な一時バッファを確保できません。
PDH_CSTATUS_NO_MACHINE 指定したコンピュータがオフラインになっているか、利用できません。
PDH_CSTATUS_NO_OBJECT 指定したコンピュータ上に指定したオブジェクトが見つかりません。

対応情報

Windows NT/2000:Windows NT 4.0 以降
Windows 95/98:対応していません
Windows CE:対応していません
ヘッダー:pdh.h 内で宣言
インポートライブラリ:pdh.lib を使用

参照

PdhConnectMachinePdhEnumObjects

表示: