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