Implementar a interface primária para um provedor de propriedades

Um provedor de propriedades usa os métodos IWbemPropertyProvider como a interface primária para o WMI. Com IWbemPropertyProvider, você pode implementar o código para recuperar e modificar propriedades de classe e instância.

A tabela a seguir lista os métodos IWbemPropertyProvider que você pode implementar em um provedor de propriedades.

Método Recurso
GetProperty Recuperação
PutProperty Modification

 

Observação

Você deve implementar um provedor de propriedades como um provedor no processo. O WMI inicializará provedores de propriedades escritos como serviços ou arquivos executáveis, mas nunca chamará seus métodos GetProperty e PutProperty.

 

Se você optar por não dar suporte a um desses métodos, seu provedor poderá fornecer uma implementação de stub que retorna WBEM_E_PROVIDER_NOT_CAPABLE.

Um provedor de propriedades identifica uma classe gerenciada ou uma instância por um conjunto de três qualificadores: PropertyContext, InstanceContext e ClassContext. O WMI passará constantes de cadeia de caracteres que descrevem esses três qualificadores para o provedor de propriedades.

Seu provedor de propriedades deve estar preparado para lidar com os seguintes tipos de qualificadores de contexto:

  • O qualificador InstanceContext é anexado a uma instância e contém informações que se aplicam a todas as propriedades da instância.
  • O qualificador ClassContext é anexado a uma classe e contém informações que se aplicam a todas as instâncias da classe. Por exemplo, em uma classe usada para armazenar dados fornecidos pelo provedor do Registro, ClassContext pode ser o caminho para a chave do Registro que contém as propriedades a serem relatadas.
  • O qualificador PropertyContext especifica informações específicas do contexto que pertencem à propriedade. Por exemplo, em uma classe usada para armazenar dados fornecidos pelo provedor do Registro, o PropertyContext especifica o nome do valor do Registro a ser armazenado pela propriedade.

Esses qualificadores podem trabalhar juntos. Você pode designar um valor de InstanceContext e PropertyContext para informar ao provedor como tratar tipos específicos de instâncias. Por exemplo, pode ser interessante marcar instâncias que o provedor reconhecerá como legíveis, mas com apenas uma propriedade gravável.

O qualificador mais comum usado é o PropertyContext. Portanto, o WMI fornece o qualificador DynProps como um atalho. O WMI considera cada propriedade em uma instância marcada com DynProps para também ter os qualificadores Dynamic, Provider e PropertyContext.