ドライバー検証ログの作成方法
Windows ハードウェア認定プログラム では、ドライバーの提出にドライバー検証ログ (DVL) が必要です。 DVL には、静的解析ツール CodeQLの結果の要約が含まれています。 DVL にはソース コード情報は含まれていません。 ドライバーの DVL を作成する前に、コード分析ツールである CodeQL と静的ドライバー検証ツールを実行します。 詳細については、 「Static Tools Logo Test」 および 「CodeQL と Static Tools Logo Test」を参照してください。
ドライバーを準備する
- コード分析ツールを実行する前に、最新の Windows Driver Kit (WDK) を使用してドライバーをビルドしてリンクします。
- ソリューション構成として Release を選択し、ソリューション プラットフォームとして x64 を選択します。
必要なテストを決定して実行する
認定を希望する Windows のバージョンに必要なテストを確認するには、 Static Tools Logo Testを参照してください。
必要に応じて、次のテストを実行します。
CodeQL を実行します。 見つかった欠陥に対処し、修正します。 「修正必須」とみなされる欠陥が修正されない場合、認証は失敗します。 CodeQL と静的ツールのロゴ テストの詳細については、「CodeQL と静的ツールのロゴ テスト」を参照してください。
静的ドライバー検証ツールを実行します。 ログ ファイルの作成の詳細については、「静的ドライバー検証ツールのログ ファイルの作成」および「静的ドライバー検証ツールを使用したドライバーの欠陥の検出」を参照してください。
ドライバーのコード分析ツールを実行します。 見つかった欠陥に対処して修正します。 コード分析ツールのログ ファイルの作成 および ドライバーのコード分析を実行する方法を参照してください。 コード分析の詳細については、「コード分析ツールを使用したアプリケーション品質の分析」を参照してください。
ドライバー検証ログを作成する
- ドライバー メニューから、 ドライバー検証ログの作成を選択します。
- コード分析ログ、 静的ドライバー検証ログ、および CodeQLログ ファイルが検出されていることを確認します。
- [作成] を選択します
ドライバー検証ログのファイル名拡張子は .DVL.XML です。 ログは、プロジェクト フォルダーに作成されます (例: \myDriverProject\myDriverName.DVL.XML)。
SDV はドライバーのクリーンな再構築を実行し、コード分析ログを削除します。 したがって、CA を実行する前に必ず SDV を実行してください。
Windows ハードウェア ラボ キット を使用してドライバーをテストする準備ができたら、ドライバー検証ログをテスト コンピューターの %systemdrive%\DVL ディレクトリにコピーします。 新しいドライバー検証ログをコピーする前に、テスト コンピューター上のディレクトリの内容を削除します。
重要
DVL ファイルでタイムアウト、領域不足などの失敗した結果があっても、認定用に申請できます。 結果が成功しなかった場合でも、HLK の静的ツール テストは失敗しません。
Visual Studioのコマンドプロンプトウィンドウを使用する
Visual Studio コマンド プロンプト ウィンドウからドライバー検証ログを作成することもできます。 Visual Studio とともにインストールされる Visual Studio ネイティブ ツール コマンド プロンプト、または Enterprise Windows Driver Kit (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 クライアント用に認定されるドライバーの場合、このファイルは 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
- Arm
- Arm64
Note
driverName 文字列の一部として「.sys」を含めないでください。
DVL を検査して、正しく生成されたことを確認します。
この使用方法は主に、CodeQL の結果を使用して DVL を生成することを目的としていますが、SDV および CA の結果にも使用できます。
リリース ノート
コード分析ツール、静的ドライバー検証ツール、およびドライバー検証ログに関する最新情報は、 Windows Driver Kit (WDK) ダウンロード ページ の WDK リリース ノートに記載されています。