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

另请参阅

开发 WMI 提供程序

IWbemHiPerfProvider

将实例提供程序转换为高性能提供程序

性能计数器提供程序

编写实例提供程序