Compartir a través de


Método IWbemHiPerfProvider::GetObjects (wbemprov.h)

El método IWbemHiPerfProvider::GetObjects inserta las propiedades que no son clave de los objetos de la matriz proporcionada. WMI llama a GetObjects en respuesta a una llamada IWbemServices::GetObject . Si un proveedor no implementa GetObjects, WMI intenta atender una solicitud GetObject con una llamada al método IWbemHiPerfProvider::CreateRefreshableObject .

Nota Si un proveedor no implementa este método, debe devolver WBEM_E_PROVIDER_NOT_CAPABLE.
 

Sintaxis

HRESULT GetObjects(
  [in]      IWbemServices     *pNamespace,
  [in]      long              lNumObjects,
  [in, out] IWbemObjectAccess **apObj,
            long              lFlags,
            IWbemContext      *pContext
);

Parámetros

[in] pNamespace

Un puntero IWbemServices a Administración de Windows, que puede atender cualquier solicitud realizada por el proveedor. El proveedor debe llamar a AddRef en este puntero si va a volver a llamar a la administración de Windows durante su ejecución.

[in] lNumObjects

Entero que contiene el número de objetos que se van a recuperar.

[in, out] apObj

Puntero a una matriz de objetos IWbemObjectAccess . El método GetObjects inserta las propiedades clave de cada objeto en esta matriz.

lFlags

Reservado. El valor de este parámetro deberá ser 0.

pContext

Normalmente NULL; de lo contrario, un puntero a un objeto IWbemContext requerido por uno o varios proveedores de clases dinámicas. Los valores del objeto de contexto deben especificarse en la documentación específica del proveedor. Para obtener más información sobre este parámetro, vea Realizar llamadas a WMI.

Valor devuelto

Este método devuelve un valor HRESULT que indica el estado de la llamada al método. En la lista siguiente se muestra el valor contenido en un HRESULT.

Comentarios

Los objetos solicitados tendrán rellenadas sus propiedades clave.

Ejemplos

En el ejemplo de código siguiente se describe cómo implementar 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;
}

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemprov.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo DLL Wmiprvsd.dll

Consulte también

Desarrollo de un proveedor WMI

IWbemHiPerfProvider

Conversión de un proveedor de instancias en un proveedor de alto rendimiento

Proveedor de contador de rendimiento

Escritura de un proveedor de instancias