KeReadStateSemaphore 函数 (wdm.h)

KeReadStateSemaphore 例程返回指定信号灯对象的当前状态(已发出信号或未发出信号)。

语法

LONG KeReadStateSemaphore(
  [in] PRKSEMAPHORE Semaphore
);

参数

[in] Semaphore

指向调用方为其提供存储的初始化信号灯对象的指针。

返回值

如果返回值为零,则信号灯对象将设置为未发出信号的状态。

注解

此例程提供了一种有效方法来轮询信号灯的信号状态。 KeReadStateSemaphore 在不同步信号灯访问信号灯的情况下读取信号灯的状态。 不要假定 KeReadStateSemaphore 对信号灯状态的访问与例程(如 KeReleaseSemaphoreKeWaitForSingleObject)的访问相互排斥,这些访问会同步它们对信号灯状态的访问。

有关信号灯对象的详细信息,请参阅 信号灯对象

要求

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

另请参阅

KeInitializeSemaphore

KeReleaseSemaphore

KeWaitForSingleObject