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