Acessar dados de drivers de dispositivo

O provedor WDM (Modelo de Driver do Windows) concede acesso às classes, instâncias, métodos e eventos de drivers de hardware que estão em conformidade com o modelo WDM. As classes para drivers de hardware residem no namespace \\root\wmi.

O provedor WDM é de interesse para aqueles que escrevem drivers de dispositivo e para administradores interessados em dados de driver de dispositivo.

As seguintes seções serão abordadas neste tópico:

Informações para desenvolvedores de driver de dispositivo

As classes do WMI relacionadas a um driver de dispositivo específico são criadas quando o provedor WDM extrai o MOF binário do arquivo executável do driver do dispositivo. Isso ocorre sempre que o WMI é iniciado, um novo driver de dispositivo é instalado ou a instância do WMIBinaryMofResource de um driver específico é excluída. Ao verificar o Wmiprov.log, você pode determinar se ocorreu um erro que resultou em falha ao extrair o arquivo MOF binário. Os detalhes dos erros mofcomp são relatados no Mofcomp.log. Para obter mais informações, confira Arquivos de log do WMI. Por questão de desempenho, o provedor WDM não gera eventos ao criar ou excluir classes devido a um provedor WDM que esteja iniciando ou parando.

O provedor WDM transforma todos os dados WNODE em informações de classe. Se um erro for encontrado ao transformar os dados do WNODE em dados de classe, ele será relatado no Wmiprov.log com o cabeçalho formatado e os bytes renderizados no mesmo formato de um despejo de memória.

As alterações feitas nas configurações de segurança do driver não entrarão em vigor até que o provedor WDM seja descarregado e recarregado. Para obter mais informações, confira Descarregar um provedor.

O WMI também pode disponibilizar contadores de alto desempenho para drivers de hardware. Para obter mais informações sobre como criar classes de alto desempenho e exibir dados no Perfmon System Monitor, confira Aprimorar a eficiência de um provedor de instância. Para obter mais informações sobre como desenvolver drivers de dispositivo habilitados para o WMI, consulte https://www.microsoft.com/ddk. Para obter mais informações sobre qualificadores específicos do WDM no arquivo MOF, confira Qualificadores específicos do provedor WDM.

Informações para administradores e usuários de dados de driver

A listagem das instâncias da classe WMIBinaryMofResource tráz as informações dos drivers no sistema e informações sobre a compilação bem-sucedida dos MOFs pelo provedor WDM para cada driver. Você pode forçar o provedor a recompilar e gerar novamente as classes de um driver excluindo a instância do WMIBinaryMofResource que representa esse driver. Os detalhes dos erros mofcomp são relatados no Mofcomp.log.

Se o namespace do WMI estiver corrompido, ele poderá ser excluído e reaberto para forçar o WDM a recriar as classes de driver. Para obter mais informações sobre como abrir um namespace, confira Criar hierarquias dentro do WMI.

As classes de driver podem ficar "encalhadas" algumas vezes se o carregamento do driver for interrompido ou outras operações anormais ocorrerem. O provedor do WDM só pesquisará e limpará classes "encalhadas" quando um novo driver estiver instalado ou quando o valor da chave do Registro Software\Microsoft\WBEM\WDMProvider, ProcessStrandedClasses, estiver definido como TRUE. Definir esse valor como TRUE reduz o desempenho de inicialização do WMI devido à operação de limpeza. O valor padrão é FALSE. O provedor WDM somente verifica esse valor do Registro quando o namespace "Root\Wmi" é aberto pela primeira vez.

Se forem feitas alterações de segurança em um driver de dispositivo do WDM, as alterações não entrarão em vigor até que o provedor WDM seja descarregado e recarregado. O serviço de Gerenciamento do Windows deve ser interrompido e reiniciado para que isso aconteça.

Como usar o WMI