Windows Hardware Certification Program では、ドライバーの申請にはドライバー検証ログ (DVL) が必要です。 DVL には、静的解析ツールCodeQLの結果の要約が含まれています。 DVL にはソース コード情報は含まれていません。 ドライバーの DVL を作成する前に、コード分析ツールである CodeQL と静的ドライバー検証ツールを実行します。 詳細については、「Static Tools Logo Test」および「CodeQL と Static Tools Logo Test」を参照してください。
重要
既知の問題により、Windows 11の Windows HLK (2026 年 5 月に更新) で静的ツール ロゴ テストを実行すると、バージョン 25H2 では、ドライバー検証ログがバージョン要件を満たしていないことを示すエラーが発生します。 CodeQL を実行し、通常どおり Windows Driver Kit (WDK) バージョン 28000.1761 を使用して DVL を生成してから、免除 #320241 を適用して申請のブロックを解除してください。 この問題は、Windows 11 バージョン 25H2 の HLK の次のバージョンで解決されます。
ドライバーを準備する
- コード分析ツールを実行する前に、最新の Windows Driver Kit (WDK) を使用してドライバーをビルドしてリンクします。
- ソリューション構成として Release を選択し、ソリューション プラットフォームとして x64 を選択します。
必要なテストを決定して実行する
認定を受けようとしている Windows のバージョンで必要なテストを確認するには、Static Tools Logo Testを参照してください。
必要に応じて、次のテストを実行します。
CodeQL を実行します。 見つかった欠陥に対処し、修正します。 「修正必須」とみなされる欠陥が修正されない場合、認証は失敗します。 CodeQL と静的ツールのロゴテストの詳細については、CodeQL と静的ツールのロゴテスト を参照してください。
Static Driver Verifier を実行します。 ログ ファイルの作成については、Static Driver Verifier のログ ファイルの作成およびStatic Driver Verifier を使用したドライバーの欠陥の検出を参照してください。
ドライバーのコード分析ツールを実行します。 見つかった欠陥に対処して修正します。 コード分析ツールのログ ファイルの作成 および ドライバーのコード分析を実行する方法 を参照してください。 コード分析の詳細は、コード分析ツールを使用したアプリケーション品質の分析を参照してください。
ドライバー検証ログを作成する
- ドライバー メニューから、 ドライバー検証ログの作成を選択します。
- コード分析ログ、 静的ドライバー検証ログ、および CodeQLログ ファイルが検出されていることを確認します。
- [作成] を選択します。
ドライバー検証ログのファイル名拡張子は .DVL.XML です。 ログは、プロジェクト フォルダーに作成されます (例: \myDriverProject\myDriverName.DVL.XML)。
SDV はドライバーのクリーンな再構築を実行し、コード分析ログを削除します。 したがって、CA を実行する前に必ず SDV を実行してください。
Windows Hardware Lab Kit を使用したドライバーのテストの準備ができたら、ドライバー検証ログをテスト コンピューターの %systemdrive%\DVL ディレクトリにコピーしてください。 新しいドライバー検証ログをコピーする前に、テスト コンピューター上のディレクトリの内容を削除します。
重要
DVL ファイルでタイムアウト、領域不足などの失敗した結果があっても、認定用に申請できます。 結果が成功しなかった場合でも、HLK の静的ツール テストは失敗しません。
Visual Studioのコマンドプロンプトウィンドウを使用する
Visual Studio コマンド プロンプト ウィンドウからドライバー検証ログを作成することもできます。 Visual Studio とともにインストールされる Visual Studio ネイティブ ツール コマンド プロンプト、または Enterprise Windows Driver Kit (WDK) (EWDK) のいずれかを使用します。
msbuild.exe <vcxprojectfile> /target:dvl /p:Configuration="Release" /P:Platform=x64
msbuild または Visual Studio の外部でドライバー検証ログを作成する
Microsoft は、Windows Driver Kit (WDK) および Enterprise WDK (eWDK) の一部として、コマンドラインからドライバー検証ログ (DVL) を生成するために使用できる dvl.exe というコンポーネントを提供しています。 WDK/eWDK プレビュー バージョン 21342 以降では、msbuild または Visual Studio のコンテキスト外でコマンド ラインから DVL を生成できます。
CodeQL sarif ファイルから DVL を生成する
- WDK またはマウントされている eWDK で dvl.exe を見つけます。 通常は C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exeにインストールされます。
-
/manualCreateフラグ、ドライバー名、指定したアーキテクチャ、および/sarifPathを渡して、dvl.exe を呼び出します。 ここで、/sarifPathは sarif ファイルを含むフォルダーへのパスを指定します。
"C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe" /manualCreate <driverName> <driverArchitecture> /sarifPath <pathToSarifLocation>
CodeQL sarifファイルからDVLを生成するか、CAとSDVを使用する場合
DVL を作成するために使用する必要がある結果を、vcxproj ファイルとともに単一のディレクトリに配置します。 Windows Client 向けの認定を受けるドライバーでは、このファイルは CodeQL SARIF ファイル です。 Windows Server 認定には、コード分析および静的ドライバー検証 (SDV) 結果ファイルも含まれる場合があります。 デバイス ドライバーの認定のためにどのツールを実行する必要があるかの詳細については、WHCP 要件のドキュメントを確認してください。
CodeQL SARIF ファイルとコード分析 XML ファイルをディレクトリの最上位レベルに配置します。 SDV DVL.xml ファイルを sdvというサブフォルダーに配置します。
コマンドラインから CodeQL SARIF ファイルが含まれている最上位ディレクトリに移動します。
WDK またはマウントされている eWDK で dvl.exe を見つけます。
/manualCreateフラグ、ドライバー名、および指定するアーキテクチャを渡して dvl.exe を呼び出します。 次に例を示します。driverArchitecture には、次のいずれかの文字列を指定します。
- X86
- X64
- 腕
- Arm64
注
driverName 文字列に ".sys" を含めないでください。
DVL を検査して、正しく生成されたことを確認します。
この使用方法は主に、CodeQL の結果を使用して DVL を生成することを目的としていますが、SDV および CA の結果にも使用できます。
リリース ノート
コード分析ツール、静的ドライバー検証ツール、およびドライバー検証ログに関する最新情報は、 Windows Driver Kit (WDK) ダウンロード ページ の WDK リリース ノートに記載されています。