PdhEnumObjectsA 関数 (pdh.h)
指定したコンピューターまたは指定したログ ファイルで使用できるオブジェクトの一覧を返します。
データ ソースにハンドルを使用するには、 PdhEnumObjectsH 関数を 使用します。
構文
PDH_FUNCTION PdhEnumObjectsA(
[in] LPCSTR szDataSource,
[in] LPCSTR szMachineName,
[out] PZZSTR mszObjectList,
[in, out] LPDWORD pcchBufferSize,
[in] DWORD dwDetailLevel,
[in] BOOL bRefresh
);
パラメーター
[in] szDataSource
パフォーマンス オブジェクトの列挙に使用されるログ ファイルの名前を指定する Null で終わる文字列。 NULL の場合、関数は で指定されたコンピューターを使用します。
名前を列挙する szMachineName パラメーター。
[in] szMachineName
パフォーマンス オブジェクトの列挙に使用されるコンピューターの名前を指定する Null で終わる文字列。
コンピューター名に先頭のスラッシュ (\computername など) を含めます。
szDataSource パラメーターが NULL の場合は、szMachineName を NULL に設定して、ローカル コンピューターを指定できます。
[out] mszObjectList
オブジェクト名の一覧を受け取る呼び出し元によって割り当てられたバッファー。 このリスト内の各オブジェクト名は null 文字で終了します。 リストは、2 つの null 終端文字で終了します。 pcchBufferLength パラメーターが 0 の場合は NULL に設定します。
[in, out] pcchBufferSize
TCHAR での mszObjectList バッファーのサイズ。 入力時に 0 の場合、関数は PDH_MORE_DATAを返し、このパラメーターを必要なバッファー サイズに設定します。 バッファーが必要なサイズより大きい場合、関数は、このパラメーターを使用したバッファーの実際のサイズに設定します。 入力で指定したサイズが 0 より大きく、必要なサイズより小さい場合は、返されるサイズに依存してバッファーを再割り当てしないでください。
Windows XP: 必要なバッファー サイズに追加します。
[in] dwDetailLevel
返すパフォーマンス項目の詳細レベル。 指定した詳細レベル以下のすべてのアイテムが返されます (レベルは増加順に表示されます)。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
初心者のユーザー レベルの詳細。 |
|
高度なユーザー レベルの詳細。 |
|
エキスパートユーザーの詳細レベル。 |
|
システム デザイナーの詳細レベル。 |
[in] bRefresh
キャッシュされたオブジェクト リストを自動的に更新するかどうかを示します。 次のいずれかの値を指定します。
この関数を 2 回呼び出してリストのサイズを取得し、2 回目に実際のリストを取得する場合は、最初の呼び出しでこのパラメーターを TRUE 、2 回目の呼び出しで FALSE を 設定します。 両方の呼び出しが TRUE の場合、2 番目の呼び出しでは、呼び出し間でオブジェクト データが変更された可能性があるため、PDH_MORE_DATAも返される可能性があります。
値 | 意味 |
---|---|
|
オブジェクト キャッシュは、オブジェクトが返される前に自動的に更新されます。 |
|
キャッシュを自動的に更新しないでください。 |
戻り値
関数が成功すると、ERROR_SUCCESSが返されます。
関数が失敗した場合、戻り値は システム エラー コード または PDH エラー コードです。 使用できる値を次に示します。
リターン コード | 説明 |
---|---|
|
mszObjectList バッファーが小さすぎてオブジェクトの一覧を保持できません。 この戻り値は、 入力時に pcchBufferLength が 0 の場合に想定されます。 入力で指定したサイズが 0 より大きく、必要なサイズより小さい場合は、返されるサイズに依存してバッファーを再割り当てしないでください。 |
|
指定したコンピューターがオフラインであるか、使用できません。 |
|
指定したオブジェクトが見つかりませんでした。 |
|
パラメーターが無効です。 たとえば、一部のリリースでは、入力時に指定されたサイズが 0 より大きく、必要なサイズより小さい場合に、このエラーが発生する可能性があります。 |
注釈
この関数は 2 回呼び出す必要があります。最初に必要なバッファー サイズを取得し ( mszObjectList を NULL に、 pcchBufferLength を 0 に設定)、2 回目にデータを取得します。
注意
pdh.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして PdhEnumObjects を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | pdh.h |
Library | Pdh.lib |
[DLL] | Pdh.dll |