静的ドライバー検証ツールとは
静的ドライバー検証ツール (SDV) は、コンパイル時に実行される静的検証ツールです。 ソース コードをシンボル的に実行し、ドライバー コード内のパスを調べ、オペレーティング システムの状態とドライバーの初期状態に関する想定を可能な限り少なくします。 その結果、SDV は、従来のテストでは見逃されているパスでコードを実行できます。
SDV には、ドライバーとオペレーティング システム カーネル間の適切なインタラクションを定義するル―ルのセットが含まれています。 検証中、SDV は、ドライバー コードと、使用ライブラリ コードの適用可能な分岐をすべて調べ、ドライバーがルールに違反していることを証明しようとします。 SDV がルールの証明に失敗した場合は、ドライバーがルールに準拠し、検証に合格したことを報告します。
このセクションには、次が含まれます。
重要
SDV はサポートされなくなり、Windows 24H2 WDK または EWDK リリースでは SDV を使用できません。 ビルド 26017 より新しい WDK では使用できません。また、Windows 24H2 RTM WDK には含まれていません。
SDV は、Windows 11 バージョン 22H2 EWDK (2023 年 10 月 24 日リリース) と Visual Studio ビルド ツール 17.1.5 を からダウンロードすることで引き続き使用。 SDV を実行する Enterprise WDK のみを使用することをお勧めします。 古いバージョンの標準 WDK を Visual Studio の最近のリリースと組み合わせて使用することはお勧めしません。これにより、分析エラーが発生する可能性があります。
今後、CodeQL はドライバーの主要な静的分析ツールになります。 CodeQL には、クエリ対象のデータベースとしてコードを扱う強力なクエリ言語が用意されているため、特定の動作やパターンなどに対するクエリを簡単に記述できます。
CodeQL の使用方法の詳細については、「 CodeQL と静的ツール ロゴ テストを参照してください。