Så här skapar du en verifieringslogg för drivrutiner

Windows maskinvarucertifieringsprogram kräver en drivrutinsverifieringslogg (DVL) för drivrutinsöverföringar. DVL innehåller en sammanfattning av resultaten från statiska analysverktyg, CodeQL. DVL innehåller ingen källkodsinformation. Innan du skapar en DVL för drivrutinen kör du CodeQL, kodanalysverktyget och den statiska drivrutinsverifieraren. Mer information finns i Test av statiska verktygslogotyp och CodeQL och logotestet för statiska verktyg.

Förbereda drivrutinen

  1. Innan du kör kodanalysverktygen skapar och länkar du drivrutinen med hjälp av det senaste Windows Driver Kit (WDK).
  2. Välj Släpp för lösningskonfigurationen och x64 för lösningsplattformen.

Fastställa och köra de nödvändiga testerna

Information om vilka tester som krävs för den version av Windows som du vill certifiera för finns i logotestet för statiska verktyg.

Kör följande tester efter behov.

Skapa drivrutinsverifieringsloggen

  1. På menyn Drivrutin väljer du Skapa drivrutinsverifieringslogg.
  2. Kontrollera att kodanalysloggen, loggen för statiska drivrutinsverifierare och CodeQL-loggfilerna har identifierats.
  3. Välj Skapa.

Verifieringsloggen för drivrutinen har filnamnstillägget . DVL.XML. Loggen skapas i projektmappen, till exempel \myDriverProject\myDriverName. DVL.XML.

SDV utför en ren återskapande av drivrutinen, vilket tar bort kodanalysloggen. Därför måste du köra SDV innan du kör CA.

När du är redo att testa drivrutinen med Windows Hardware Lab Kit kopierar du drivrutinens verifieringslogg till katalogen %systemdrive%\DVL på testdatorn. Ta bort innehållet i katalogen på testdatorn innan du kopierar den nya drivrutinsverifieringsloggen.

Viktigt!

Timeouter, blanksteg och andra icke-lyckade resultat i DVL-filen är acceptabla för att skicka certifieringar. Icke-framgångsrika resultat kommer inte att orsaka att testet med statiska verktyg i HLK misslyckas.

Använd kommandotolken i Visual Studio

Du kan också skapa drivrutinsverifieringsloggen från ett kommandotolkfönster i Visual Studio. Använd antingen Visual Studio-kommandotolken för inbyggda verktyg som är installerad med Visual Studio eller Enterprise Windows Driver Kit (EWDK).

msbuild.exe <vcxprojectfile> /target:dvl /p:Configuration="Release" /P:Platform=x64

Skapa en drivrutinsverifieringslogg utanför msbuild eller Visual Studio

Microsoft levereras som en del av Windows Driver Kit (WDK) och Enterprise WDK (eWDK) en komponent som heter dvl.exe som kan användas för att generera drivrutinsverifieringsloggar (DVL) via kommandoraden. Från och med förhandsversionen av WDK/eWDK 21342 och senare är det möjligt att generera en DVL från kommandoraden utanför kontexten för msbuild eller Visual Studio.

Generera DVL från CodeQL-sarif-filen

  1. Leta upp dvl.exe från WDK eller en monterad eWDK. Den installeras vanligtvis i C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe
  2. Anropa dvl.exe genom att skicka /manualCreate flaggan, ett drivrutinsnamn, en önskad arkitektur och /sarifPath. Där /sarifPath innehåller sökvägen till mappen som innehåller sarif-filen.
"C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe" /manualCreate <driverName> <driverArchitecture> /sarifPath <pathToSarifLocation>

Generera en DVL från en CodeQL-sarif-fil, eller när du använder CA och SDV

  1. Placera de resultat som måste förbrukas för att skapa DVL i en enda katalog, tillsammans med valfri vcxproj-fil. För drivrutiner som ska certifieras för Windows-klienten är den här filen CodeQL SARIF-filen. Windows Server-certifieringen kan även innehålla resultatfilerna kodanalys och statisk drivrutinsverifierare (SDV). I dokumenten för WHCP-krav finns specifik information om vilka verktyg som krävs för att köras för certifiering av enhetsdrivrutiner.

  2. Placera CodeQL SARIF-filerna och XML-filerna för kodanalys på den översta nivån i katalogen. Placera SDV-DVL.xml-filen i en undermapp med namnet sdv.

  3. Navigera till katalogen på den översta nivån som innehåller CodeQL SARIF-filen från kommandoraden.

  4. Hitta dvl.exe i WDK eller från en monterad eWDK.

  5. Anropa dvl.exe genom att skicka /manualCreate flaggan, ett drivrutinsnamn och en önskad arkitektur. Till exempel:

    Använd någon av följande strängar för din driverArchitecture:

    • X86
    • X64
    • Arm
    • Arm64

    Anmärkning

    Inkludera inte ".sys" som en del av din driverName-sträng .

  6. Kontrollera DVL för att säkerställa att den har genererats korrekt.

Den här användningen är främst avsedd för att generera DVL:er med CodeQL-resultat, men kan också användas för SDV- och CA-resultat.

Versionsanteckningar

Den senaste informationen om verktyget Kodanalys, Statisk drivrutinsverifierare och drivrutinskontrolloggen finns i WDK-viktig information på nedladdningssidan för Windows Driver Kit (WDK).