静的ドライバー検証ツールの結果の解釈
Visual Studio から静的ドライバー検証ツールを起動し、ドライバーの分析を実行すると、[メイン] タブの [結果] のサマリに結果が表示されます。
統計
Entrypoints ドライバーのソース コードで検出されたエントリ ポイントの数を報告します。 エントリ ポイントは、ドライバーが指定するコールバックまたはディスパッチ ルーチンです。 エントリ ポイントは、関数ロールの型宣言を使用して定義します。 分析を実行するには、SDV で少なくとも 1 つのエントリ ポイントを見つける必要があります。 詳細については、「関数ロールの型宣言の使用」を参照してください。
欠陥の検出 分析中に見つかった欠陥の数を報告します。 欠陥は、DDI コンプライアンス規則の違反です。
実行されたテスト 分析中にテストが行われたルールの数を報告します。 これらは、[ルール] タブで選択したルールです。
Status
分析のステータスを報告します。 完了すると、検出された結果を確認できます。
結果
完了(ルール)
SDV は、ルール違反のドライバーをテストしましたが、違反は証明できませんでした。
この結果は、ドライバーにエラーが発生しないことを意味するものではありません。 これは、SDV が検証パスのルールに違反したことを証明できなかったことのみを意味します。
参加解除
SDV で 1 つ以上の欠陥が報告された場合は、[ディフェクト] リンクをクリックして、静的ドライバー検証ツール レポートを使用してエラーのトレースを表示します。
適用しない
SDV は、ルール違反のドライバーをテストしましたが、ドライバーは分析に必要なエントリ ポイントをサポートしていない、またはルールが監視する関数を呼び出しませんでした。
ルールが関数呼び出しの特定の引数 (通常はリソースへのポインター) を監視し、ドライバーが関数を呼び出さないか、その引数を参照しない場合、ルールはドライバーに適用されません。
ドライバーがエントリ ポイントを指定し、ルールが監視している関数を呼び出す場合、この結果は、SDV がエントリ ポイントを見つけられなかった、または正しく解釈されなかったことを示している場合があります。 この状況が発生したことを確認するには、Sdv-map.h ファイルを調べて、必要があれば修正します。 この手順の詳細については、「ドライバーのスキャン」を参照してください。
各ルールの詳細については、「静的ドライバー検証ツールのルール」のリファレンスを参照してください。
ドライバーをさらに調べるには、異なるルールを使用して検証を実行します。
[タイムアウト]
SDV は、各ルールの検証に充てられた制限時間を超えたため、ルールの検証を停止しました。 制限時間は、静的ドライバー検証ツールのオプション ファイル、または [構成] タブの [最大時間] フィールドで設定されています。
タイムアウトは、決定的でない結果と見なされます。 ドライバー エラーを表示しません。 SDV がタイムアウトを報告する場合は、検証に許可される時間 (sdv-default.xmlfile のSDV_SlamConfig_Timeout 値) を延長し、もう一度検証を実行します。
完了 (プロパティ)
SDV は、指定されたドライバーのドライバー プロパティ ルールを実行しました。 ドライバーのプロパティ ルールは、ドライバーの機能またはサポートされている機能をチェックし、さらに分析するための前段階です。 たとえば、ドライバー プロパティ ルール CancelRoutine は、WDM ドライバーがキャンセル ルーチンを登録しているかどうかを確認します。 キャンセル ルーチンが検出されない場合、特定の WDM ルールは適用されません。 これは、ドライバーのプロパティが満たされなかったことを意味します。
サティスファイド (プロパティ)
SDV は、指定されたドライバーのドライバー プロパティ ルールを実行しました。 ドライバーのプロパティ ルールは、ドライバーの機能またはサポートされている機能をチェックし、さらに分析するための前段階です。 たとえば、ドライバー プロパティ ルール CancelRoutine は、WDM ドライバーがキャンセル ルーチンを登録しているかどうかを確認します。 キャンセル ルーチンが検出された場合は、特定の WDM ルールが適用されます。 これは、ドライバーのプロパティが満たされたことを意味します。
スペースアウト
ルールを検証するためのメモリ制限を超えたため、SDV が検証を停止したルールの数。 メモリ制限は、静的ドライバー検証ツールオプション ファイル (sdv-default.xml) で設定されます。
スペースアウトは、決定的でない結果と見なされます。 SDV がスペースアウトを報告する場合は、検証に許可されるスペース (sdv-default.xml ファイルのSDV_SlamConfig_Spaceout 値) を延長し、もう一度検証を実行します。
その他
SDV で回復できなかった内部エラーが発生した回数。 エラーとデバッグの詳細については、「静的ドライバー検証ツールのエラー メッセージ」ページを参照してください。