次の方法で共有


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

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

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

構文

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

パラメーター

pszBaseClassName

リストを返す基本クラスの名前。

pRequester

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

pCallback

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

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

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

pszNamespace

pszClassName で指定されたクラス名の名前空間。 このパラメーターが NULL の場合、既定の名前空間 root\cimv2 が使用されます。

pMethodContext

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

pUserData

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

戻り値

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

解説

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

このメソッドは、SELECT * FROM pszBaseClassName クエリと意味的に同じです。

シンクへのコールバックは、クライアントが必要とするのと同じ認証レベルで返されない可能性があるため、非同期ではなく半同期通信を使用することをお勧めします。 ただし、非同期通信が必要な場合は、「 メソッドの呼び出し」を参照してください。

メソッドを半同期的に使用する方法の詳細については、「 CWbemProviderGlue::GetAllDerivedInstances 」および「 メソッドの呼び出し」を参照してください。

要件

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