Método Provider::GetObject(ParsedObjectPath*,MethodContext*,long) (provider.h)

[A classe Provider faz parte do WMI Provider Framework que agora é considerado em estado final e nenhum desenvolvimento, melhoria ou atualização adicional estará disponível para problemas não relacionados à segurança que afetarem essas bibliotecas. As APIs de MI devem ser usadas para todos os novos desenvolvimentos.]

O método GetObject é chamado pelo WMI para recuperar uma instância de uma classe.

Sintaxe

HRESULT GetObject(
        ParsedObjectPath *pParsedObjectPath,
        MethodContext    *pContext,
  [ref] long             lFlags
);

Parâmetros

pParsedObjectPath

Ponteiro para um objeto CInstance a ser preenchido pelo provedor de estrutura.

pContext

Máscara de bits de sinalizadores com informações sobre a operação GetObject . Esse é o valor especificado pelo cliente no método IWbemServices::GetObject .

Os seguintes sinalizadores são manipulados por (e filtrados) pelo WMI:

  • WBEM_FLAG_USE_AMENDED_QUALIFIERS
  • WBEM_FLAG_RETURN_WBEM_COMPLETE
  • WBEM_FLAG_RETURN_IMMEDIATELY

[ref] lFlags

Objeto de consulta que indica o conjunto de propriedades a serem populadas, conforme solicitado por uma chamada para Provider::GetObject.

Um provedor pode obter um ganho de desempenho significativo preenchendo apenas esses valores de propriedade solicitados. O provedor determina quais propriedades são solicitadas usando CFrameworkQuery::IsPropertyRequired. Caso contrário, o provedor deverá preencher todos os valores de propriedade.

Retornar valor

A implementação do provedor de estrutura padrão desse método retorna WBEM_E_PROVIDER_NOT_CAPABLE ao método de chamada. O método IWbemServices::GetObject lista os valores retornados comuns, embora você possa optar por implementar qualquer valor de retorno COM.

Comentários

O WMI geralmente invoca GetObject em resposta a uma chamada de cliente para IWbemServices::GetObject. A versão WMI de Provider::GetObject fornece uma instância com apenas as propriedades de chave preenchidas. Por outro lado, um provedor de estrutura implementado deve preencher todas as outras propriedades. O seguinte descreve uma substituição comum de GetObject:

  1. Determine qual instância WMI solicitou lendo as propriedades de chave com um método Get de CInstance, como CInstance::GetCHString.
  2. Preencha o restante das propriedades da instância usando os vários métodos Set da classe CInstance , como CInstance::SetByte ou CInstance::SetStringArray.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho provider.h (inclua FwCommon.h)
Biblioteca FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll