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