Como criar um log de verificação de drivers
O Programa de Certificação de Hardwares do Windows requer um DVL (log de verificação de drivers) para envios de drivers. O DVL contém um resumo dos resultados das ferramentas de análise estática, 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, confira Teste de logotipo de ferramentas estáticas e Teste de logotipo do CodeQL e de ferramentas estáticas.
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 Versão como a configuração da solução e x64 como 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 se certificar, consulte o Teste de logotipo das ferramentas estáticas.
Execute os testes a seguir, conforme necessário.
Rode o CodeQL. Corrija os erros encontrados. A certificação não funcionará se os erros considerados "obrigatórios" não forem corrigidos. Para mais informações sobre o Teste de logotipo de ferramentas estáticas e do CodeQL, consulte Teste de logotipo de ferramentas estáticas e do CodeQL.
Rode o verificador de drivers estáticos. Para mais informações sobre como criar o arquivo de log, consulte Criar um arquivo de log para o verificador de drivers estáticos e Usar o verificador de drivers estáticos para encontrar defeitos nos drivers.
Rode a ferramenta de análise de códigos para os drivers. Corrija os erros encontrados. Consulte Criar um arquivo de log para a ferramenta de análise de códigos e Rodar uma análise de códigos para drivers. Para mais informações sobre análise de códigos, consulte Analisar a qualidade do aplicativo usando ferramentas de análise de códigos.
Criar um log de verificação de drivers
- No menu Driver, selecione Criar log de verificação do driver.
- 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 tudo certo 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 de driver.
Importante
Tempo limite, espaçamentos e outros resultados malsucedidos no arquivo DVL são aceitáveis para envio de 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 solicitação 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 a solicitação de comando do Visual Studio, o prompt de comando das ferramentas nativas do Visual Studio ou o EWDK (Enterprise Windows Driver Kit).
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
Como parte do Windows Driver Kit (WDK) e do Enterprise WDK (eWDK), a Microsoft envia um componente chamado dvl.exe, que pode ser usado para gerar os DVLs (drivers logs de drivers de verificação) usando as linhas de comandos. 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
- Localize o dvl.exe do WDK ou de um eWDK montado. Normalmente, ele é instalado em C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe
- Chame dvl.exe passando o
/manualCreate
sinalizador, um nome de driver, uma arquitetura desejada e/sarifPath
. Em que/sarifPath
inclui 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 usando um arquivo sarif do CodeQL ou o 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, esse 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). Verifique 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.
Localize o dvl.exe do WDK ou de um eWDK montado.
Chame dvl.exe passando o
/manualCreate
sinalizador, um nome de driver e uma arquitetura desejada. Por exemplo:Use uma das seguintes cadeias de caracteres para driverArchitecture:
- X86
- X64
- Arm
- Arm64
Observação
Não inclua ".sys" como parte da cadeia de caracteres 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 atuais sobre a ferramenta de análises de códigos, o verificador de drivers estáticos e o log de verificação de driver estão nas notas de versão do WDK na página de download do WDK (Kit de Drivers do Windows).
Tópicos relacionados
- Como criar um arquivo de log para o Verificador de driver estático
- Como criar um arquivo de log para a ferramenta de análise de código
- Programa de Certificação de Hardwares
- Analisar a qualidade de drivers usando as ferramentas de análises de códigos
- Como executar a Análise de código para drivers
- Usar o verificar de drivers estáticos para localizar defeitos nos drivers
- CodeQL e o teste de logotipo de ferramentas estáticas