次の方法で共有


静的ドライバー検証ツールの紹介

静的ドライバー検証ツール (SDV) は、コンパイル時に実行される静的検証ツールです。 ドライバー コード内のパスを調べるには、ソース コードをシンボル的に実行し、オペレーティング システムの状態とドライバーの初期状態に関する想定を可能な限り少なくします。 その結果、SDV は、従来のテストでは見逃されているパスでコードを実行できます。

SDV には、ドライバーとオペレーティング システム カーネル間の適切な相互作用を定義する規則のセットが含まれています。 検証中、SDV は、ドライバー コードと、使用するライブラリ コードのすべての適用可能な分岐を調べ、ドライバーが規則に違反していることを証明しようとします。 SDV が違反の証明に失敗した場合は、ドライバーが規則に準拠し、検証に合格したことを報告します。

このセクションには、次のものが含まれます。

静的ドライバー検証ツールについて

静的ドライバー検証ツールの概念

サポートされているドライバー

静的ドライバー検証ツールの制限事項

重要

SDV はサポートされなくなり、Windows 24H2 WDK または EWDK リリースでは SDV を使用できません。 ビルド 26017 より新しい WDK では使用できません。また、Windows 24H2 RTM WDK には含まれていません。 SDV は、Windows Driver Kit (WDK) のダウンロードから Visual Studio ビルド ツール 17.1.5 を使用して Windows 11 バージョン 22H2 EWDK (2023 年 10 月 24 日リリース) をダウンロードしても使用できます。 SDV を実行する Enterprise WDK のみを使用することをお勧めします。 古いバージョンの標準 WDK を Visual Studio の最近のリリースと組み合わせて使用することはお勧めしません。これにより、分析エラーが発生する可能性があります。
今後、CodeQL はドライバーの主要な静的分析ツールになります。 CodeQL には、クエリ対象のデータベースとしてコードを扱う強力なクエリ言語が用意されているため、特定の動作やパターンなどに対するクエリを簡単に記述できます。 CodeQL の使用方法の詳細については、「 CodeQL と静的ツールのロゴ テスト」を参照してください。