<Return[PQ]><Top>

PdhEnumObjectItems

Declare Sub Api_PdhEnumObjectItems Lib "pdh" Alias "PdhEnumObjectItems" (ByVal DataSource$, ByVal MachineName$, ByVal ObjectName$, ByVal CounterList$, ByRef CounterListLen&, ByVal InstanceList$, ByRef InstanceListLen&, ByVal DetailLevel&, ByVal Flags&)

Declare Sub PdhEnumObjectItems Lib "pdh" (ByVal szDataSource As String, ByVal szMachineName As String, ByVal szObjectName As String, ByVal mszCounterList As String, ByRef pcchCounterListLength As Long, ByVal mszInstanceList As String, ByRef pcchInstanceListLength As Long, ByVal dwDetailLevel As Long, ByVal dwFlags As Long)

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

パラメータ
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 に設定して関数を呼び出すと、szCounterList パラメータが指すバッ

    ファにデータは格納されない。この変数は、データの格納に必要なバッファのサイズに設定される。どちらのサイズにも、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

指定したコンピュータ上に指定したオブジェクトが見つからない。