MmIsDriverVerifying 函数 (wdm.h)

MmIsDriverVerifying 例程指示由指定的 驱动程序对象标识的内核模式驱动程序 是否正在验证或调用由 驱动程序验证程序验证的驱动程序。

语法

LOGICAL MmIsDriverVerifying(
  [in] _DRIVER_OBJECT *DriverObject
);

参数

[in] DriverObject

指向表示驱动程序对象的 DRIVER_OBJECT 结构的指针。 驱动程序将此指针作为输入参数接收到其 DriverEntry 例程。

返回值

MmIsDriverVerifying 如果指定的驱动程序位于驱动程序验证列表中或导入对驱动程序验证列表中的驱动程序中的入口点的调用,TRUE。 否则,此例程返回 FALSE

言论

内核模式驱动程序可以调用此例程来确定是否通过 驱动程序验证程序监视它。 驱动程序验证程序监视内核模式驱动程序,以检测可能损坏系统的非法函数调用或作。 若要选择要验证的驱动程序,可以使用 验证程序命令行驱动程序验证程序管理器。 有关将驱动程序添加到驱动程序验证列表的详细信息,请参阅 选择要验证的驱动程序

类似的例程 MmIsDriverVerifyingByAddress,指示驱动程序映像地址标识的驱动程序是否正在验证或调用正在验证的驱动程序。 MmIsDriverVerifyingByAddress 从 Windows Vista 开始提供。

另一个相关的例程,MmIsDriverSuspectForVerifier,指示由 驱动程序对象表示的驱动程序是否 在选择要验证的驱动程序列表中。 从 Windows 8 开始,mmIsDriverSuspectForVerifier 可用。

例如,如果驱动程序 A 具有一个导入表,它调用驱动程序 B 中的一个或多个入口点,并且驱动程序 B 位于驱动程序验证列表中,则 MmIsDriverVerifying(A) 返回 TRUEMmIsDriverSuspectForVerifier(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

另请参阅

DRIVER_OBJECT

DriverEntry

mmIsDriverVerifyingByAddress