IWbemServices::CreateInstanceEnum メソッド (wbemcli.h)

IWbemServices::CreateInstanceEnum メソッドは、ユーザー指定の選択基準に従って、指定したクラスのインスタンスを返す列挙子を作成します。 このメソッドは、単純な WQL クエリをサポートしています。より複雑なクエリは、 IWbemServices::ExecQuery メソッドを使用して処理できます。

構文

HRESULT CreateInstanceEnum(
  [in]  const BSTR           strFilter,
  [in]  long                 lFlags,
  [in]  IWbemContext         *pCtx,
  [out] IEnumWbemClassObject **ppEnum
);

パラメーター

[in] strFilter

インスタンスが必要なクラスの名前を含む有効な BSTR 。 このパラメーターを NULL にすることはできません。

[in] lFlags

次のフラグは、このメソッドの動作に影響します。 このパラメーターの推奨値は WBEM_FLAG_RETURN_IMMEDIATELY であり、最適なパフォーマンスを 得るためのWBEM_FLAG_FORWARD_ONLY です。

WBEM_FLAG_USE_AMENDED_QUALIFIERS

このフラグが設定されている場合、WMI は、現在の接続のロケールのローカライズされた名前空間に格納されている修正された修飾子を取得します。 設定されていない場合は、イミディエイト名前空間に格納されている修飾子のみが取得されます。

WBEM_FLAG_DEEP

このフラグは、列挙体に、このサブクラスとすべてのサブクラスを階層内に強制的に含めます。

WBEM_FLAG_SHALLOW

このフラグは、このクラスに見つからないプロパティを提供するサブクラスのすべてのインスタンスを除き、このクラスの純粋なインスタンスのみを列挙に強制的に含めます。

WBEM_FLAG_RETURN_IMMEDIATELY

このフラグにより、これは半同期呼び出しになります。 詳細については、「メソッドの呼び出し」を参照してください。

WBEM_FLAG_FORWARD_ONLY

このフラグにより、前方専用列挙子が返されます。 前方専用列挙子は、通常ははるかに高速であり、従来の列挙子よりも少ないメモリを使用しますが、 Clone または Reset の呼び出しは許可されません。

WBEM_FLAG_BIDIRECTIONAL

このフラグにより、クライアントが列挙子を解放するまで、Windows Management は列挙のオブジェクトへのポインターを保持します。 オブジェクト ポインターはすぐには解放されないため、クライアントが多数のオブジェクトを列挙しようとすると、 hResultのWBEM_E_OUT_OF_MEMORY でこのメソッドが失敗する可能性があります。 このフラグは、 lFlags パラメーターを 0 (ゼロ) に設定した場合、既定で暗黙的に指定されます。

WBEM_FLAG_DIRECT_READ

このフラグは、親クラスまたはサブクラスに関係なく、指定されたクラスのプロバイダーに直接アクセスします。

[in] pCtx

通常 は NULL です。 それ以外の場合、これは、要求されたインスタンスを提供しているプロバイダーが使用できる IWbemContext オブジェクトへのポインターです。 コンテキスト オブジェクトの値は、該当するプロバイダーのドキュメントで指定する必要があります。 このパラメーターの詳細については、「 WMI への呼び出しの作成」を参照してください。

[out] ppEnum

正の参照カウントを持つ列挙子へのポインターを受け取ります。 呼び出し元は、不要になった後、ポインターで IUnknown::Release を呼び出す必要があります。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT に含まれる値の一覧です。

失敗した場合は、COM 関数 GetErrorInfo から使用可能な情報を取得できます。

ネットワークの問題によって Windows Management へのリモート接続が失われると、COM 固有のエラー コードも返される可能性があります。

注釈

返された列挙子の要素が 0 になるのはエラーではありません。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemcli.h (Wbemidl.h を含む)
Library Wbemuuid.lib
[DLL] Fastprox.dll;Esscli.dll;FrameDyn.dll。FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll

こちらもご覧ください

IWbemServices

IWbemServices::CreateInstanceEnumAsync

エラー コードの取得