Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um provedor WMI consiste em um arquivo MOF (Managed Object Format) e um arquivo DLL. O arquivo MOF define as classes para as quais a implementação do provedor fornece dados.
As definições de classe MOF são compiladas pelo utilitáriomofcompe armazenadas no repositório WMI , também conhecido como repositório CIM (Common Information Model). Uma maneira menos comum de criar classes é através dos métodos da API COM para WMI.
Observação
Para garantir que todas as definições de classe WMI para objetos gerenciados sejam restauradas no repositório WMI se o WMI tiver uma falha e for reiniciado, use a instrução #pragma autorecuperação pré-processador no arquivo MOF.
As seguintes seções são discutidas neste tópico:
- Definindo os objetos a serem gerenciados
- Definição de propriedades ou métodos
- Relacionando objetos entre si
- Tópicos relacionados
Definindo os objetos a serem gerenciados
Depois de identificar a parte da sua empresa a ser gerenciada, defina os objetos a serem gerenciados. A definição deve incluir os dados necessários e permitir que você implemente as regras de negócios relevantes com precisão. Você pode definir objetos em um nível granular, mas é melhor decidir entre o nível de detalhe contido na definição e a necessidade de fornecer detalhes suficientes para ser útil. Os atalhos no início do processo podem poupar tempo, mas podem causar mais trabalho no futuro.
O Tutorial do CIM no site da Distributed Management Task Force (DMTF) contém excelentes informações sobre o processo de design. Para obter mais informações, consulte www.dmtf.org.
Considere os seguintes fatores ao desenvolver e implementar um design de esquema:
Eliminatórias
Os qualificadores fornecem informações sobre como descrever classes, objetos, propriedades, métodos e parâmetros; e são aplicadas a definições de classe e propriedade. No código MOF, os qualificadores são colocados entre parênteses e podem incluir [chave] ou [associação]. Para obter mais informações, consulte Adicionando um Qualificador e Qualificadores WMI.
Espaço de nomes
Um namespace é uma unidade lógica para agrupar classes e objetos e controlar o escopo e a visibilidade. Normalmente, um namespace contém um conjunto de classes e objetos que representam objetos gerenciados em um ambiente específico. Para obter mais informações, consulte Criando hierarquias no WMI.
Objeto
Um objeto modelado pode ser um elemento físico ou lógico do esquema. Por exemplo, você pode modelar uma unidade de disco físico, como uma unidade de disco rígido, ou um disco lógico que pode ser uma partição em um disco físico. Um design que usa uma classe para modelar uma unidade de disco físico e, em seguida, estende essa classe para modelar um disco lógico é mais extensível do que um que tenta criar uma classe separada para cada tipo de disco.
Dados
Os dados podem ser dinâmicos ou estáticos. Se os dados forem dinâmicos, você deverá criar um provedor de classe para eles.
Para permitir que o usuário modifique dados, você deve determinar se deseja ou não que uma propriedade seja diretamente gravável ou modificável somente usando um método que o usuário chama.
Definindo propriedades ou métodos
Geralmente, uma propriedade de classe WMI é semelhante a uma propriedade em uma classe C++. Se as únicas ações que seu código implementa para a parte de dados é obter o valor ou definir o valor, então os dados devem ser definidos como uma propriedade da classe WMI.
Um método WMI geralmente executa uma ação que altera o estado de um objeto gerenciado. Por exemplo, se a ação for habilitar ou desabilitar a operação de um objeto de hardware, um método provavelmente é preferível à criação de uma propriedade de leitura/gravação. Você também pode decidir criar uma propriedade que exiba o estado do hardware.
Ao criar uma classe ou uma instância, você pode incluir comentários. Use esta técnica para documentar sua classe ou explicar suas técnicas de programação. Para obter mais informações, consulte Criando um comentário. Além disso, você pode adicionar dados para qualificar a finalidade de um objeto de dados. Para obter mais informações, consulte Adicionar um qualificador.
Relacionando objetos uns com os outros
Há duas maneiras de relacionar objetos entre si: criando objetos separados e um objeto de associação que os relaciona, ou incorporando um objeto no outro. O CIM não suporta objetos incorporados, portanto, para ser compatível com o CIM, você deve usar o primeiro método. No entanto, o WMI oferece suporte a objetos incorporados, portanto, use qualquer um dos métodos para representar uma relação entre objetos. Você pode encontrar exemplos de objetos incorporados no Win32 Classes. Por exemplo, Win32_SecurityDescriptor tem o objeto incorporado Win32_ACE, que tem outro objeto incorporado, Win32_Trustee.
Considere o seguinte ao decidir como representar relações entre objetos:
- Se uma instância é útil por si só, então uma associação funciona melhor. Por exemplo, Win32_Process e Win32_UserAccount. Para obter mais informações, consulte Declarando uma classe de associação.
- Se uma instância não existir fora do objeto pai, um objeto incorporado funcionará melhor. Por exemplo, Win32_SecurityDescriptor e Win32_ACE. Para obter mais informações, consulte Incorporando objetos em uma classe.
Tópicos relacionados