Arquitetura do WMI

O WMI fornece uma interface uniforme para qualquer aplicativo local ou remoto ou scripts que obtêm dados de gerenciamento de um sistema de computador, uma rede ou uma empresa. A interface uniforme foi projetada para que scripts e aplicativos cliente do WMI não precisem chamar uma ampla variedade de APIs (interfaces de programação de aplicativo) do sistema operacional. Muitas APIs não podem ser chamadas por clientes de automação, como scripts ou aplicativos do Visual Basic. Outras APIs não fazem chamadas para computadores remotos.

Para obter dados do WMI, escreva um script ou aplicativo cliente que acesse Classes do WMI ou forneça dados ao WMI escrevendo um provedor WMI. Para obter mais informações, confira Como usar o WMI.

Objetos, consumidores e infraestrutura do WMI

O diagrama a seguir mostra a relação entre a infraestrutura do WMI e os provedores e objetos gerenciados do WMI, além de mostras a relação entre a infraestrutura do WMI e os consumidores do WMI.

relação entre infraestrutura do WMI, objetos gerenciados e provedores WMI

Componentes do WMI

A seguinte lista descreve os principais componentes do WMI:

  • Objetos gerenciados e provedores WMI

    Um provedor WMI é um objeto COM que monitora um ou mais objetos gerenciados para o WMI. Um objeto gerenciado é um componente corporativo lógico ou físico, como uma unidade de disco rígido, adaptador de rede, sistema de banco de dados, sistema operacional, processo ou serviço.

    Semelhante a um driver, um provedor fornece ao WMI dados de um objeto gerenciado e manipula mensagens do WMI para o objeto gerenciado. Os provedores WMI consistem em um arquivo DLL e um arquivo MOF (Managed Object Format) que define as classes para as quais o provedor retorna dados e executa operações. Provedores, como aplicativos C++ do WMI, usam a API COM para WMI. Para obter mais informações, consulte Fornecer dados ao WMI.

    Um exemplo de provedor é o Provedor do Registro pré-instalado, que acessa dados no registro do sistema. O provedor do Registro tem uma classe WMI, StdRegProv, com muitos métodos, mas nenhuma propriedade. Outros provedores pré-instalados, como o provedor Win32, geralmente têm classes com muitas propriedades, mas poucos métodos, como Win32_Process ou Win32_LogicalDisk. O arquivo DLL do provedor do Registro, Stdprov.dll, contém o código que retorna dados dinamicamente quando solicitado por scripts ou aplicativos cliente.

    Os arquivos MOF e DLL do WMI estão localizados em %WINDIR%\System32\Wbem, juntamente com as Ferramentas de linha de comando do WMI, como Winmgmt.exe e Mofcomp.exe. Classes de provedor, como Win32_LogicalDisk, são definidas em arquivos MOF e compiladas no repositório do WMI na inicialização do sistema.

  • Infraestrutura do WMI

    A infraestrutura do WMI é um componente do sistema operacional Microsoft Windows conhecido como o serviço WMI (winmgmt). A infraestrutura do WMI tem dois componentes: o WMI Core e o repositório WMI.

    O repositório WMI é organizado por namespaces do WMI. O serviço WMI cria alguns namespaces como root\default, root\cimv2 e root\subscription na inicialização do sistema e pré-instala um conjunto padrão de definições de classe, incluindo as Classes Win32, as Classes do Sistema WMI e outras. Os namespaces restantes encontrados no sistema são criados por provedores para outras partes do sistema operacional ou produtos. Para obter mais informações e uma lista de provedores WMI encontrados na maioria das versões do sistema operacional, consulte Provedores WMI.

    O serviço WMI atua como um intermediário entre os provedores, os aplicativos de gerenciamento e o repositório do WMI. Somente dados estáticos sobre objetos são armazenados no repositório, como as classes definidas pelos provedores. O WMI obtém a maioria dos dados dinamicamente do provedor quando um cliente os solicita. Você também pode configurar assinaturas para receber notificações de eventos de um provedor. Para obter mais informações, consulte Monitorar eventos.

  • Consumidores do WMI

    Um consumidor do WMI é um aplicativo de gerenciamento ou script que interage com a infraestrutura WMI. Um aplicativo de gerenciamento pode consultar, enumerar dados, executar métodos de provedor ou assinar eventos chamando a API COM para WMI ou a API de Script para WMI. Os únicos dados ou ações disponíveis para um objeto gerenciado, como uma unidade de disco ou um serviço, são aqueles fornecidos por um provedor.

Usar o WMI

Provedores de WMI

Criar um script ou aplicativo do WMI

Tarefas do WMI para scripts e aplicativos

Fornecer dados ao WMI

Classes do WMI

Monitorando eventos

Chamar um método