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