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

O método IWbemHiPerfProvider::GetObjects insere as propriedades não chave dos objetos na matriz fornecida. O WMI chama GetObjects em resposta a uma chamada IWbemServices::GetObject . Se um provedor não implementar GetObjects, o WMI tentará atender a uma solicitação GetObject com uma chamada para o método IWbemHiPerfProvider::CreateRefreshableObject .

Nota Se um provedor não implementar esse método, ele deverá retornar WBEM_E_PROVIDER_NOT_CAPABLE.
 

Sintaxe

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

Parâmetros

[in] pNamespace

Um ponteiro IWbemServices de volta para o Gerenciamento do Windows, que pode atender a qualquer solicitação feita pelo provedor. O provedor deverá chamar AddRef nesse ponteiro se ele for chamar de volta para o Gerenciamento do Windows durante sua execução.

[in] lNumObjects

Inteiro que contém o número de objetos que você está recuperando.

[in, out] apObj

Ponteiro para uma matriz de objetos IWbemObjectAccess . O método GetObjects insere as principais propriedades de cada objeto nessa matriz.

lFlags

Reservado. Esse parâmetro deve ser 0.

pContext

Normalmente NULL; caso contrário, um ponteiro para um objeto IWbemContext que é exigido por um ou mais provedores de classe dinâmica. Os valores no objeto de contexto devem ser especificados na documentação do provedor específico. Para obter mais informações sobre esse parâmetro, consulte Making Calls to WMI..

Retornar valor

Esse método retorna um HRESULT que indica o status da chamada de método. A lista a seguir lista o valor contido em um HRESULT.

Comentários

Os objetos solicitados terão suas propriedades de chave preenchidas.

Exemplos

O exemplo de código a seguir descreve como 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 com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemprov.h (include Wbemidl.h)
Biblioteca Wbemuuid.lib
DLL Wmiprvsd.dll

Confira também

Como desenvolver um provedor do WMI

IWbemHiPerfProvider

Transformar um provedor de instância em um provedor de alto desempenho

Provedor de Contadores de Desempenho

Escrever um provedor de instância