CWbemProviderGlue::GetAllDerivedInstancesAsynch 方法 (wbemglue.h)

[CWbemProviderGlue 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]

GetAllDerivedInstancesAsynch 方法检索特定提供程序支持的、派生自特定基类的实例列表。 此方法允许提供程序通过一次返回一个实例来异步响应。

语法

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 是派生自 提供程序类的类的名称。 它是此类的一个实例,它是 pRequester 定义的“this”指针。 调用此函数以返回 pszClassName 指定的提供程序支持的每个实例。

pszNamespace

pszClassName 指定的类名的命名空间。 如果此参数为 NULL,则使用默认命名空间 root\cimv2。

pMethodContext

指向当前上下文的指针。 必须提供上下文以防止死锁。 使用由 Provider::EnumerateInstancesProvider::ExecQuery 传入提供程序的上下文,或使用 CInstance::GetMethodContext 从实例获取上下文。 此参数不得为 NULL

pUserData

指向传递给 pCallback 指向的函数的用户定义数据的指针。

返回值

如果操作成功,则该方法返回 WBEM_S_NO_ERRORWBEM_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