EngInitializeSafeSemaphore 函数 (winddi.h)

EngInitializeSafeSemaphore 函数初始化指定的安全信号灯。

语法

ENGAPI BOOL EngInitializeSafeSemaphore(
  [out] ENGSAFESEMAPHORE *pssem
);

参数

[out] pssem

指向要初始化的驱动程序分配 的 ENGSAFESEMAPHORE 结构的指针。

返回值

EngInitializeSafeSemaphore 在成功后返回 TRUE 。 否则,它将返回 FALSE

注解

EngInitializeSafeSemaphoreEngDeleteSafeSemaphore 是线程安全的,在锁下运行并在信号量上维护引用计数。 这可以保证只创建一个信号灯,而不考虑同时调用它的次数,并且信号量一直存在,直到释放对信号灯的最后一次引用。

初始化安全信号灯后,驱动程序可以使用 ENGSAFESEMAPHORE 结构的 hsem 成员调用 EngAcquireSemaphoreEngReleaseSemaphore 进行同步。

当 EngInitializeSafeSemaphore 的调用方不再需要信号灯时,应调用 EngDeleteSafeSemaphore

要求

要求
最低受支持的客户端 适用于 Windows 2000 及更高版本的 Windows 操作系统。
目标平台 通用
标头 winddi.h (包括 Winddi.h)
Library Win32k.lib
DLL Win32k.sys

另请参阅

ENGSAFESEMAPHORE

EngAcquireSemaphore

EngDeleteSafeSemaphore

EngIsSemaphoreOwned

EngIsSemaphoreOwnedByCurrentThread

EngReleaseSemaphore