Compartilhar 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 evento. Conecte-se ao namespace "root\wmi" para testar o suporte do driver.

Wmic
O Microsoft Windows XP e os 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 verificar a sintaxe dos arquivos MOF binários. Você também pode usar o comando wmimofck -t para gerar um arquivo VBScript. Você pode usar este script para testar como o driver lida com 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 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 de 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 Component Object Model (COM), 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 para eventos, o aplicativo usa os métodos da interface IWbemServices .

IRPs de WMI e o Log de Eventos do Sistema

Os erros 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 log para obter mais informações.)

As duas principais fontes desses erros são respostas malformadas a solicitações WMI e parâmetros incorretos para notificações de evento. 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

Os erros do WMI que ocorrem durante a manipulação pelo Provedor WDM do WMI (Wmiprov.dll) são registrados no arquivo de log do Provedor WDM do 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 incorreto, 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 log, alterar o diretório em que os arquivos de log WMI (Windows Management Instrumentation) são mantidos, bem como definir o tamanho máximo para esses arquivos. Para obter mais informações, consulte arquivos de log WMI.