MmIsDriverVerificationByAddress 函式 (wdm.h)
MmIsDriverVerificationByAddress 例程會檢查指定的映射位址所識別的核心模式驅動程式是否已經過驗證,或呼叫由 Driver Verifier驗證的驅動程式。
語法
LOGICAL MmIsDriverVerifyingByAddress(
[in] PVOID AddressWithinSection
);
參數
[in] AddressWithinSection
驅動程式映像內虛擬位址的指標。 MmIsDriverVerificationByAddress 使用此位址來判斷要檢查的驅動程式。
傳回值
MmIsDriverVerificationByAddress 傳回 TRUE 如果指定的驅動程式位於驅動程式驗證清單中,或匯入驅動程式驗證清單中的進入點呼叫。 否則,此例程會傳回 FALSE。
言論
內核模式驅動程式可以呼叫此例程,以判斷驅動程式驗證器 監視它或其他驅動程式。 驅動程式驗證器會監視內核模式驅動程式,以偵測可能損毀系統的非法函式呼叫或動作。 若要選取要驗證的驅動程式,您可以使用 驗證器命令列 或 驅動程式驗證器管理員。 如需將驅動程式新增至驅動程式驗證清單的詳細資訊,請參閱 選取要驗證的驅動程式。
類似的例程 mmIsDriverVerification,指出 驅動程式物件所識別的驅動程式 正在驗證,還是呼叫正在驗證的驅動程式。
另一個相關的例程 MmIsDriverSuspectForVerifier,指出驅動程式物件所代表的驅動程式是否在選取要驗證的驅動程式清單中。
例如,如果驅動程式 A 具有匯入數據表,它會呼叫驅動程式 B 中的一個或多個進入點,而驅動程式 B 位於驅動程式驗證清單中,則 MmIsDriverVerifyingByAddress(Aobj)
傳回 TRUE,MmIsDriverSuspectForVerifier(Badr)
傳回 TRUE,其中 Aobj
是 A 的驅動程式物件的指標,而 Badr
是驅動程式 B 中的位址。如果驅動程式 A 不在驅動程式驗證清單中,MmIsDriverSuspectForVerifier(Aobj)
會傳回 FALSE。 即使驅動程式 B 未呼叫驅動程式驗證清單中任何驅動程式中的進入點,MmIsDriverVerifyingByAddress(Badr)
也會傳回 TRUE,因為驅動程式 B 位於驅動程式驗證清單中。 如果驅動程式 C 不在驅動程式驗證清單中,且未呼叫驅動程式驗證清單中任何驅動程式的進入點,MmIsDriverVerifyingByAddress(Cadr)
和 MmIsDriverSuspectForVerifier(Cobj)
都會傳回 FALSE 。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |