Provider::GetObject (CInstance*,long,CFrameworkQuery&) 方法 (provider.h)

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

WMI 调用 GetObject 方法以检索类的实例。

语法

HRESULT GetObject(
        CInstance         *pInstance,
  [ref] long              lFlags,
        CFrameworkQuery & Query
);

参数

pInstance

TBD

[ref] lFlags

指示要填充的属性集的查询对象,如 对 Provider::GetObject 的调用所请求的那样。

提供程序可以通过仅填充这些请求的属性值来实现显著的性能提升。 提供程序使用 CFrameworkQuery::IsPropertyRequired 确定请求的属性。 否则,提供程序必须填充所有属性值。

Query

TBD

返回值

此方法的默认框架提供程序实现将 WBEM_E_PROVIDER_NOT_CAPABLE 返回到调用方法。 IWbemServices::GetObject 方法列出了常见的返回值,但你可以选择实现任何 COM 返回值。

注解

WMI 通常会调用 GetObject 以响应对 IWbemServices::GetObject 的客户端调用。 Provider::GetObject 的 WMI 版本为实例提供仅填充的键属性。 相反,实现的框架提供程序必须填充所有其他属性。 下面介绍了 GetObject 的常见重写:

  1. 使用 CInstance 中的 Get 方法(例如 CInstance::GetCHString)读取键属性,确定请求的实例 WMI。
  2. 使用 CInstance 类的许多 Set 方法填充实例的其余属性,例如 CInstance::SetByteCInstance::SetStringArray

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 provider.h (包括 FwCommon.h)
Library FrameDyn.lib
DLL FrameDynOS.dll;FrameDyn.dll