KeReadStateEvent 函数 (wdm.h)

KeReadStateEvent 例程返回事件对象的当前状态(已发出信号或未发出信号)。

语法

LONG KeReadStateEvent(
  [in] PRKEVENT Event
);

参数

[in] Event

指向调用方为其提供存储的已初始化事件对象的指针。

返回值

如果事件对象当前设置为信号状态,则返回非零值。 否则返回零。

注解

此例程提供了一种有效的方法来轮询事件的信号状态。 KeReadStateEvent 读取事件的状态,但不同步其对事件的访问权限。 不要假定 KeReadStateEvent 对事件状态的访问与例程(如 KeSetEventKeWaitForSingleObject)的访问相互排斥,这些例程会同步它们对事件状态的访问。

如果满足以下条件,还可以从驱动程序的中断服务例程中读取事件的状态:驱动程序的事件对象驻留 (可能在其设备扩展) 中,访问事件的任何其他函数将其访问与 ISR 同步。

有关事件对象的详细信息,请参阅 事件对象

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h (包括 Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlKeDispatchLte (wdm)

另请参阅

KeClearEvent

KeInitializeEvent

KeResetEvent

KeSetEvent

KeWaitForSingleObject