Compartilhar via


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

  1. 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.
  2. 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.

Criar um log de verificação de drivers

  1. No menu Driver, selecione Criar log de verificação do driver.
  2. Verifique se os arquivos Code Analysis Log, Static Driver Verifier Log e CodeQL Log foram detectados.
  3. 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

  1. 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
  2. Chame dvl.exe passando o /manualCreatesinalizador, 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

  1. 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.

  2. 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.

  3. Navegue até o diretório de nível superior que contém o arquivo SARIF do CodeQL na linha de comando.

  4. Localize o dvl.exe do WDK ou de um eWDK montado.

  5. Chame dvl.exe passando o /manualCreatesinalizador, 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.

  6. 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).