KeReadStateSemaphore 函数 (wdm.h)

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

语法

LONG KeReadStateSemaphore(
  [in] PRKSEMAPHORE Semaphore
);

参数

[in] Semaphore

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

返回值

如果返回值为零,信号灯对象将设置为非信号状态。

言论

此例程提供了一种有效方法来轮询信号灯的信号状态。 KeReadStateSemaphore 读取信号灯的状态,而无需同步其对信号灯的访问。 不要假设通过 KeReadStateSemaphore 来访问信号灯状态,KeReleaseSemaphoreKeWaitForSingleObject等例程相互排斥访问,从而同步其对信号灯状态的访问。

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

要求

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

另请参阅

KeInitializeSemaphore

KeReleaseSemaphore

KeWaitForSingleObject