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