IWbemHiPerfProvider::GetObjects 方法 (wbemprov.h)
IWbemHiPerfProvider::GetObjects 方法在提供的数组中插入对象的非键属性。 WMI 调用 GetObjects 以响应 IWbemServices::GetObject 调用。 如果提供程序未实现 GetObject,WMI 会尝试通过调用 IWbemHiPerfProvider::CreateRefreshableObject 方法为 GetObject 请求提供服务。
注意 如果提供程序未实现此方法,则必须返回 WBEM_E_PROVIDER_NOT_CAPABLE。
语法
HRESULT GetObjects(
[in] IWbemServices *pNamespace,
[in] long lNumObjects,
[in, out] IWbemObjectAccess **apObj,
long lFlags,
IWbemContext *pContext
);
参数
[in] pNamespace
IWbemServices 指针返回到 Windows 管理,它可以为提供程序发出的任何请求提供服务。 如果提供程序在执行期间要重新调用 Windows Management,则应在此指针上调用 AddRef 。
[in] lNumObjects
包含要检索的对象数的整数。
[in, out] apObj
指向 IWbemObjectAccess 对象数组的指针。 GetObjects 方法将每个对象的键属性插入到此数组中。
lFlags
保留。 此参数必须为 0。
pContext
通常 为 NULL;否则为指向一个或多个动态类提供程序所需的 IWbemContext 对象的指针。 上下文对象中的值必须在特定的提供程序文档中指定。 有关此参数的详细信息,请参阅调用 WMI。
返回值
此方法返回指示方法调用状态的 HRESULT。 以下列表列出了 HRESULT 中包含的值。
注解
请求的对象将填写其键属性。
示例
下面的代码示例介绍如何实现 GetObjects。
HRESULT CMyHiPerfProvider::GetObjects(
/* [in] */IWbemServices *pNamespace,
/* [in] */ long lNumObjects,
/* [in,out] */IWbemObjectAccess **apObj,
/* [in] */long lFlags,
/* [in] */IWbemContext *pCtx
)
{
for ( long i = 0; i < lNumObjects; i++ )
{
// Validate the instance (that is, ensure
// the path is good); if it fails, return
// the error.
// For example, create a method that validates
// the IWbemObjectAccess instance and returns
// false if validation failed.
/*if ( !ValidateInstance( apObj[i] ) )
return WBEM_E_NOT_FOUND;*/
// Fill out the instance.
// For example, create a method that assigns
// a value to the IWbemObjectAccess instance.
/*FillInstance( apObj[i] );*/
}
return WBEM_S_NO_ERROR;
}
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wbemprov.h (包括 Wbemidl.h) |
Library | Wbemuuid.lib |
DLL | Wmiprvsd.dll |
另请参阅
将实例提供程序转换为高性能提供程序