KeReadStateSemaphore 函数 (wdm.h)
KeReadStateSemaphore 例程返回指定信号灯对象的当前状态(已发出信号或未发出信号)。
语法
LONG KeReadStateSemaphore(
[in] PRKSEMAPHORE Semaphore
);
参数
[in] Semaphore
指向调用方为其提供存储的初始化信号灯对象的指针。
返回值
如果返回值为零,则信号灯对象将设置为未发出信号的状态。
注解
此例程提供了一种有效方法来轮询信号灯的信号状态。 KeReadStateSemaphore 在不同步信号灯访问信号灯的情况下读取信号灯的状态。 不要假定 KeReadStateSemaphore 对信号灯状态的访问与例程(如 KeReleaseSemaphore 和 KeWaitForSingleObject)的访问相互排斥,这些访问会同步它们对信号灯状态的访问。
有关信号灯对象的详细信息,请参阅 信号灯对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) |