KeReadStateEvent 函数 (wdm.h)
KeReadStateEvent 例程返回事件对象的当前状态(已发出信号或未发出信号)。
语法
LONG KeReadStateEvent(
[in] PRKEVENT Event
);
参数
[in] Event
指向调用方为其提供存储的已初始化事件对象的指针。
返回值
如果事件对象当前设置为信号状态,则返回非零值。 否则返回零。
注解
此例程提供了一种有效的方法来轮询事件的信号状态。 KeReadStateEvent 读取事件的状态,但不同步其对事件的访问权限。 不要假定 KeReadStateEvent 对事件状态的访问与例程(如 KeSetEvent 和 KeWaitForSingleObject)的访问相互排斥,这些例程会同步它们对事件状态的访问。
如果满足以下条件,还可以从驱动程序的中断服务例程中读取事件的状态:驱动程序的事件对象驻留 (可能在其设备扩展) 中,访问事件的任何其他函数将其访问与 ISR 同步。
有关事件对象的详细信息,请参阅 事件对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h (包括 Ntddk.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) , IrqlKeDispatchLte (wdm) |