次の方法で共有


CWbemProviderGlue::GetAllInstancesAsynch メソッド (wbemglue.h)

[CWbemProviderGlue クラスは WMI プロバイダー フレームワークの一部であり、現在最終的な状態と見なされています。これらのライブラリに影響を与える、セキュリティ関連以外の問題に対しては、それ以上の開発、機能強化、または更新プログラムは利用できません。 すべての新規開発には、MI API を使用する必要があります。]

GetAllInstancesAsynch メソッドは、特定のクラスによって返されるインスタンスの一覧を取得します。 このメソッドを使用すると、プロバイダーは一度に 1 つのインスタンスを返すことによって非同期的に応答できます。

構文

HRESULT GetAllInstancesAsynch(
  LPCWSTR                    pszClassName,
  Provider                   *pRequester,
  LPProviderInstanceCallback pCallback,
  LPCWSTR                    pszNamespace,
  MethodContext              *pMethodContext,
  void                       *pUserData
);

パラメーター

pszClassName

インスタンスの一覧を返すクラスの名前。

pRequester

pCallback によって指されるコールバック関数の "This" ポインター。

pCallback

このプロトタイプを使用した静的関数へのポインター:

static HRESULT WINAPI Classname::FunctionName(Provider *pProvider,
                                              CInstance *pInstance,
                                              MethodContext *pMethodContext,
                                              void *pUserData );

ここで、Classname は Provider クラスから派生したクラスの名前 ですこれは、pRequester によって定義された "this" ポインターである、このクラスのインスタンスです。 この関数は、 pszClassName で指定されたプロバイダーでサポートされている各インスタンスを返すために呼び出されます。

pszNamespace

pszClassName で指定されたプロバイダーの名前空間。 このパラメーターは、既定の名前空間 (root\cimv2) を示す NULL にすることができます

pMethodContext

現在のコンテキストへのポインター。 デッドロックを防ぐためにコンテキストを指定する必要があります。 Provider::EnumerateInstances または Provider::ExecQuery によってプロバイダーに渡されたコンテキストを使用するか、CInstance::GetMethodContext を使用してインスタンスから取得します。 このパラメーターは NULL にすることはできません。

pUserData

pCallback によって指される関数に渡されるユーザー定義データへのポインター。

戻り値

メソッドは、操作が成功した場合は WBEM_S_NO_ERROR を返し、メモリ不足のために操作が失敗した場合は WBEM_E_OUT_OF_MEMORY 、またはその他の HRESULT エラー コードが返されます。

注釈

GetAllInstancesAsynch メソッドは、GetAllInstances とほぼ同じ関数を実行します。 ただし、インスタンスの任意の大きな配列を返す代わりに、プロバイダーは、インスタンスがプロバイダーから取得されるたびに pCallback によって指定された関数にインスタンスを渡します。 これにより、プロバイダーはより少ないメモリを使用でき、インスタンスのクライアントへの返しを早く開始できます。

メモ シンクへのコールバックは、クライアントが必要とするのと同じ認証レベルで返されない可能性があるため、非同期通信の代わりに半同期を使用することをお勧めします。 詳細については、「メソッドの呼び出し」を参照してください。
 
このメソッドは、SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName というクエリと意味的に同じです。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemglue.h (FwCommon.h を含む)
Library FrameDyn.lib
[DLL] FrameDynOS.dll;FrameDyn.dll