Share via


Técnicas gerais para testar o suporte ao driver WMI

Ferramentas de cliente WMI

Há várias ferramentas que você pode usar para testar o suporte ao WMI em seu driver.

Wbemtest
O sistema operacional inclui a ferramenta Wbemtest, que fornece uma GUI que você pode usar para consultar classes WMI e instâncias de classe, alterar valores de propriedade, executar métodos e receber notificações de eventos. Conecte-se ao namespace "root\wmi" para testar o suporte do driver.

Wmic
O Microsoft Windows XP e sistemas operacionais posteriores incluem a ferramenta Wmic, que fornece um shell de comando que você pode usar para emitir comandos relacionados ao WMI para testar o driver.

Wmimofck
O comando wmimofck pode ser usado para marcar a sintaxe dos arquivos MOF binários. Você também pode usar o comando wmimofck -t para gerar um arquivo VBScript. Você pode usar esse script para testar o tratamento do driver de consultas de instância de classe WMI. O comando wmimofck -w gera páginas da Web que podem testar classes de consulta e configuração, executar métodos e receber eventos. Observe que as páginas da Web não dão suporte à execução de métodos que usam parâmetros complexos ou valores retornados (como uma matriz de classes inseridas). Nesses casos, você pode usar o Wbemtest. Consulte Usando wmimofck.exe para obter mais informações sobre o Wmimofck.

Você também pode testar o suporte ao WMI do driver escrevendo um aplicativo cliente WMI personalizado usando a API do modo de usuário WMI.

Para obter mais informações sobre essa API de modo de usuário, que permite que os aplicativos forneçam ou consumam informações do WMI, consulte as informações de Instrumentação de Gerenciamento do Windows na documentação do SDK do Microsoft Windows.

Um aplicativo cliente WMI executa as seguintes tarefas para testar um driver:

  • Conecta-se ao WMI.

    Para se conectar ao WMI, o aplicativo pode chamar a função COM (Component Object Model), CoCreateInstance, para recuperar um ponteiro para a interface IWbemLocator . Em seguida, o aplicativo chama o método IWbemLocator::ConnectServer para se conectar ao WMI. Nessa chamada, o aplicativo recebe um ponteiro para a interface IWbemServices .

  • Acessa informações no driver.

    Para acessar informações e registrar-se em eventos, o aplicativo usa os métodos da interface IWbemServices .

WMI IRPs e o Log de Eventos do Sistema

Os erros de WMI que ocorrem estritamente no modo kernel são registrados no log de eventos do sistema. Você pode usar o Visualizador de Eventos para examinar o log de eventos do sistema. (Consulte Erros de registro em log para obter mais informações.)

As duas fontes main desses erros são respostas malformadas a solicitações WMI e parâmetros incorretos para notificações de eventos. Por exemplo, se o driver retornar uma estrutura de dados WMIREGINFO malformada em resposta a uma solicitação de IRP_MN_REGINFO ou IRP_MN_REGINFO_EX , o sistema registrará isso no log de eventos do sistema. O sistema também registraria uma chamada inválida para IoWMIWriteEvent e WmiFireEvent para emitir uma notificação de evento WMI.

Log do provedor WDM WMI

Erros de WMI que ocorrem durante o tratamento pelo provedor WDM WMI (Wmiprov.dll) são registrados no arquivo de log do Provedor WDM WMI, Wmiprov.log. Esse é um arquivo de texto que pode ser encontrado em %windir%\system32\wbem\logs\wmiprov.log. Erros, como um recurso MOF inválido ou ausente para o driver, são registrados aqui. No caso de um recurso MOF inválido, o arquivo %windir%\system32\mofcomp.log pode ter informações adicionais relacionadas ao erro.

Em versões do Windows anteriores ao Windows Vista, você pode alterar as configurações de log para todos os provedores WMI usando o aplicativo Wmimgmt.msc. (No Windows 98/Me, use wbemcntl em vez disso.) Você pode desabilitar ou reabilitar o registro em log, alterar o diretório em que os arquivos de log WMI são mantidos, bem como definir o tamanho máximo para esses arquivos. Para obter mais informações, consulte Arquivos de log WMI.