Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Programa de Certificação de Hardware do Windows exige um DVL (log de verificação do driver) para submissões de drivers. O DVL contém um resumo dos resultados de ferramentas de análise estática, como o CodeQL. O DVL não contém nenhuma informação de código-fonte. Antes de criar um DVL para o driver, rode o CodeQL, a ferramenta de análise de códigos e o verificador de drivers estáticos. Para mais informações, consulte Teste de Logotipo das Ferramentas Estáticas e CodeQL e o Teste de Logotipo das Ferramentas Estáticas.
Importante
Devido a um problema conhecido, a execução do teste Static Tools Logo no Windows HLK (Atualizado em maio de 2026) para o Windows 11, versão 25H2, resultará em um erro informando que o log de verificação de driver não atende a um requisito de versão. Execute o CodeQL e gere um DVL usando o Kit de Driver do Windows (WDK) versão 28000.1761, como de costume, e depois aplique a isenção #320241 para liberar a submissão. Esse problema será resolvido na próxima versão do HLK para Windows 11, versão 25H2.
Preparar o driver
- Antes de executar as ferramentas de análise de códigos, compile e vincule seu driver usando o WDK (Kit de Drivers do Windows) mais recente.
- Selecione Release para a configuração da solução e x64 para a plataforma da solução.
Determinar e rodar os testes necessários
Para determinar quais testes são necessários para a versão do Windows para a qual você deseja obter certificação, consulte o Teste de Logotipo das Ferramentas Estáticas.
Execute os testes a seguir, conforme necessário.
Execute o CodeQL. Trate e corrija os defeitos que forem encontrados. A certificação não funcionará se os erros considerados "obrigatórios" não forem corrigidos. Para mais informações sobre o CodeQL e o Teste de Logotipo das Ferramentas Estáticas, consulte CodeQL e o Teste de Logotipo das Ferramentas Estáticas.
Execute o Static Driver Verifier. Para obter informações sobre como criar o arquivo de log, consulte Criar um arquivo de log para o Static Driver Verifier e Usar o Static Driver Verifier para localizar defeitos em drivers.
Execute a ferramenta de análise de código para drivers. Corrija os erros encontrados. Consulte Criando um arquivo de log para a ferramenta de análise de código e Como executar a Análise de Código para drivers. Para mais informações sobre análise de código, consulte Analisando a qualidade do aplicativo usando ferramentas de análise de código.
Criar registro de verificação de driver
- No menu Driver, selecione Create Driver Verification Log.
- Verifique se os arquivos Code Analysis Log, Static Driver Verifier Log e CodeQL Log foram detectados.
- Selecione Criar.
O log de verificação do driver tem a extensão de nome de arquivo . DVL.XML. O log é criado na pasta do projeto, por exemplo, \myDriverProject\myDriverName.DVL.XML.
O SDV executa uma recompilação limpa do driver, que remove o log de análise de código. Dessa forma, certifique-se de executar o SDV antes de executar a CA.
Quando estiver pronto para testar o driver usando o Windows Hardware Lab Kit, copie o log de verificação do driver para o diretório %systemdrive%\DVL no computador de teste. Exclua o conteúdo do diretório no computador de teste antes de copiar o novo log de verificação do driver.
Importante
Estouros de tempo, estouros de espaço e outros resultados sem sucesso no arquivo DVL são aceitáveis para submissão para certificação. Resultados não bem-sucedidos não farão com que o teste de ferramentas estáticas no HLK falhe.
Usar a janela do Prompt de Comando do Visual Studio
Você também pode criar o log de verificação de driver em uma janela de solicitação de comando do Visual Studio. Use o prompt de comando das ferramentas nativas instalado com o Visual Studio ou o Enterprise Kit de Driver do Windows (WDK) (EWDK).
msbuild.exe <vcxprojectfile> /target:dvl /p:Configuration="Release" /P:Platform=x64
Criar um log de verificação de driver fora do msbuild ou do Visual Studio
A Microsoft fornece, como parte do Kit de Driver do Windows (WDK) e do Enterprise WDK (eWDK), um componente chamado dvl.exe, que pode ser usado para gerar logs de verificação de driver (DVLs) por linha de comando. A partir das versões WDK/eWDK 21342 preview e superiores, é possível gerar um DVL a partir da linha de comando fora do contexto do msbuild ou do Visual Studio.
Gerar DVL a partir do arquivo sarif do CodeQL
- Encontre o dvl.exe no WDK ou em um eWDK montado. Normalmente, ele é instalado em C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe
- Chame dvl.exe passando o sinalizador
/manualCreate, um nome de driver, uma arquitetura desejada e/sarifPath. Onde/sarifPathinclui o caminho para a pasta que contém o arquivo SARIF.
"C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe" /manualCreate <driverName> <driverArchitecture> /sarifPath <pathToSarifLocation>
Gerar um DVL a partir de um arquivo SARIF do CodeQL ou ao usar CA e SDV
Coloque os resultados que devem ser consumidos para criar o DVL em um único diretório, além de qualquer arquivo vcxproj. Para que os drivers sejam certificados para o Windows Client, este arquivo é o arquivo SARIF do CodeQL. A certificação do Windows Server também pode incluir os arquivos de resultados das análises dos códigos e do SDV (verificador de drivers estáticos). Consulte os documentos de requisitos do WHCP para obter detalhes específicos sobre quais ferramentas devem ser executadas para a certificação do driver de dispositivo.
Coloque os arquivos SARIF do CodeQL e os arquivos XML de análises de códigos no nível superior do diretório. Coloque o arquivo SDV DVL.xml em uma subpasta chamada sdv.
Navegue até o diretório de nível superior que contém o arquivo SARIF do CodeQL na linha de comando.
Encontre o dvl.exe no WDK ou em um eWDK montado.
Chame dvl.exe informando a opção
/manualCreate, um nome de driver e a arquitetura desejada. Por exemplo:Use uma das seguintes strings para sua driverArchitecture:
- X86
- X64
- Braço
- Arm64
Observação
Não inclua ".sys" como parte da string driverName.
Inspecione o DVL para garantir que ele foi gerado corretamente.
Esse uso serve principalmente para gerar DVLs com resultados do CodeQL, mas também pode ser usado para resultados SDV e CA.
Notas de versão
As informações mais recentes sobre a ferramenta de Análise de Código, o Verificador Estático de Driver e o log de verificação do driver estão nas notas de versão do WDK na página de download do Kit de Driver do Windows (WDK).
Tópicos relacionados
- Criando um arquivo de log para o Static Driver Verifier
- Criando um arquivo de log para a ferramenta de análise de código
- Programa de Certificação de Hardware
- Analisando a qualidade de drivers usando ferramentas de análise de código
- Como executar a análise de código para drivers
- Usando o Static Driver Verifier para encontrar defeitos em drivers
- CodeQL e o Teste do Logotipo das Ferramentas Estáticas