MmIsDriverVerifyingByAddress 関数 (wdm.h)
MmIsDriverVerifyingByAddress ルーチンは、指定されたイメージ アドレスによって識別されるカーネル モード ドライバーが検証されているかどうかを確認するか、ドライバー検証ツールによって検証されているドライバーを呼び出します。
構文
LOGICAL MmIsDriverVerifyingByAddress(
[in] PVOID AddressWithinSection
);
パラメーター
[in] AddressWithinSection
ドライバー イメージ内の仮想アドレスへのポインター。 MmIsDriverVerifyingByAddress は、このアドレスを使用して、チェックするドライバーを決定します。
戻り値
MmIsDriverVerifyingByAddress は、指定したドライバーがドライバー検証リストに含まれているか、ドライバー検証リストにあるドライバーのエントリ ポイントへの呼び出しをインポートする場合に TRUE を返します。 それ以外の場合、このルーチンは FALSE を返します。
注釈
カーネル モード ドライバーは、このルーチンを呼び出して、ドライバー 検証ツールによって、そのドライバーまたは別のドライバーが監視されているかどうかを判断できます。 ドライバー検証ツールは、カーネル モード ドライバーを監視して、システムを破損させる可能性のある無効な関数呼び出しまたはアクションを検出します。 検証するドライバーを選択するには、 Verifier コマンド ライン または ドライバー検証ツール マネージャーを使用します。 ドライバー検証リストへのドライバーの追加の詳細については、「 検証対象のドライバーの選択」を参照してください。
同様のルーチン MmIsDriverVerifying は、 ドライバー オブジェクト によって識別されたドライバーが検証されているか、検証中のドライバーを呼び出すかを示します。
もう 1 つの関連ルーチン MmIsDriverSuspectForVerifier は、ドライバー オブジェクトによって表されるドライバーが、検証対象として選択されたドライバーの一覧に含まれているかどうかを示します。
たとえば、ドライバー A にドライバー B の 1 つ以上のエントリ ポイントを呼び出すインポート テーブルがあり、ドライバー B がドライバー検証リストに含まれている場合、TRUE を返しMmIsDriverSuspectForVerifier(Badr)
MmIsDriverVerifyingByAddress(Aobj)
、TRUE を返します。ここでAobj
、 は A のドライバー オブジェクトへのポインターであり、Badr
ドライバー B のアドレスです。ドライバー A がドライバー検証リストにない場合は、 MmIsDriverSuspectForVerifier(Aobj)
FALSE を返します。 ドライバー B がドライバー検証リストに含まれるドライバーのエントリ ポイントを呼び出さない場合でも、 MmIsDriverVerifyingByAddress(Badr)
ドライバー B はドライバー検証リストに含まれているため 、TRUE を 返します。 ドライバー C がドライバー検証リストに含まれていない場合、ドライバー検証リストに含まれるドライバーのエントリ ポイントが呼び出されず、 MmIsDriverVerifyingByAddress(Cadr)
MmIsDriverSuspectForVerifier(Cobj)
両方とも FALSE が返されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=APC_LEVEL |