Interface IWbemContext (wbemcli.h)

Opcionalmente, a interface IWbemContext é usada para comunicar informações de contexto adicionais aos provedores ao enviar chamadas IWbemServices ao WMI. Todas as chamadas primárias em IWbemServices levam um parâmetro opcional apontando para um objeto desse tipo.

Herança

A interface IWbemContext herda da interface IUnknown . IWbemContext também tem estes tipos de membros:

Métodos

A interface IWbemContext tem esses métodos.

 
IWbemContext::BeginEnumeration

O método IWbemContext::BeginEnumeration redefine a enumeração de todos os valores de contexto no objeto .
IWbemContext::Clone

O método IWbemContext::Clone faz uma cópia lógica do objeto IWbemContext atual. Esse método pode ser útil quando muitas chamadas devem ser feitas, que têm objetos IWbemContext praticamente idênticos.
IWbemContext::D eleteAll

O método IWbemContext::D eleteAll remove todos os valores de contexto nomeados do objeto atual, esvaziando assim o objeto .
IWbemContext::D eleteValue

O método IWbemContext::D eleteValue exclui um valor de contexto nomeado criado por IWbemContext::SetValue.
IWbemContext::EndEnumeration

O método IWbemContext::EndEnumeration encerra uma sequência de enumeração que começa com IWbemContext::BeginEnumeration. Essa chamada não é necessária, mas libera o mais cedo possível todos os recursos do sistema associados à enumeração.
IWbemContext::GetNames

O método IWbemContext::GetNames retorna uma estrutura SAFEARRAY de todos os nomes dos valores de contexto nomeados.
IWbemContext::GetValue

O método IWbemContext::GetValue é usado para recuperar um valor de contexto nomeado específico por nome.
IWbemContext::Next

O método IWbemContext::Next recupera o próximo valor em uma enumeração de todos os valores de contexto começando com IWbemContext::BeginEnumeration.
IWbemContext::SetValue

O método IWbemContext::SetValue cria ou substitui um valor de contexto nomeado.

Comentários

Geralmente, os provedores dinâmicos exigem mais informações do que o especificado nos parâmetros normais de um método IWbemServices . Por exemplo, para manipular quaisquer objetos de esquema WMI que ele fornece, um provedor pode precisar saber um nome de comunidade SNMP (Simple Network Management Protocol) ou um banco de dados de linguagem SQL (SQL) e um nome de tabela. Um cliente pode adicionar essas informações a um objeto IWbemContext e enviar o objeto IWbemContext junto com a chamada como um dos parâmetros.

Os provedores devem usar objetos de conteúdo com moderação. É recomendável que ele nunca seja necessário. Se um provedor exigir uma grande quantidade de informações de contexto altamente específicas para responder a uma solicitação, todos os clientes deverão ser codificados para fornecer essas informações, quebrando o modelo de acesso uniforme que é a base do WMI. No entanto, em alguns casos, não pode ser evitado. Portanto, esse mecanismo é fornecido para possibilitar o acesso a esses provedores. Os desenvolvedores desses provedores devem fornecer documentação adequada para que os desenvolvedores de software cliente possam manipular com êxito esses objetos CIM.

Os provedores que dão suporte ao uso de IWbemContext para permitir que os clientes especifiquem mais informações em uma solicitação devem restringir os tipos de valores aos quais dão suporte aos tipos na lista a seguir:

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • Qualquer um dos itens acima combinados com VT_ARRAY
Nota Somente objetos que dão suporte a IWbemClassObject podem realizar marshaling de seus métodos IUnknown em uma instância IWbemContext usando uma variante do tipo VT_UNKNOWN.
 
Um objeto IWbemContext , que é criado usando CoCreateInstanceEx, é um contêiner simples de valores nomeados. Acesse esses métodos para preencher as informações de contexto exigidas por um provedor dinâmico. Após a chamada para um dos métodos IWbemServices , o objeto IWbemContext pode ser reutilizado para outra chamada ou pode ser desalocado usando Release e outro objeto criado para outras chamadas para métodos IWbemServices .

As informações contidas em um objeto IWbemContext são totalmente determinadas pelo provedor subjacente. O WMI não usa as informações, mas as encaminha para o provedor. Os provedores devem publicar as informações de contexto necessárias para essas solicitações de serviço.

O aplicativo cliente chama CoCreateInstanceEx para criar um único objeto de contexto. Em seguida, ele chama SetValue uma ou mais vezes para configurar valores de contexto para o provedor. Por fim, ele envia o objeto para um dos métodos IWbemServices , que chama imediatamente Release no objeto de contexto após o retorno da chamada. Os outros métodos são usados principalmente por provedores que recebem o objeto de contexto e precisam extrair informações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemcli.h (include Wbemidl.h)

Confira também

API COM para WMI

Criar e declarar uma instância usando C++

Fazer chamadas ao WMI

Fornecendo dados do WMI em uma plataforma de 64 bits

Recuperar parte de uma instância do WMI