EngInitializeSafeSemaphore 函数 (winddi.h)
EngInitializeSafeSemaphore 函数初始化指定的安全信号灯。
语法
ENGAPI BOOL EngInitializeSafeSemaphore(
[out] ENGSAFESEMAPHORE *pssem
);
参数
[out] pssem
指向要初始化的驱动程序分配 的 ENGSAFESEMAPHORE 结构的指针。
返回值
EngInitializeSafeSemaphore 在成功后返回 TRUE 。 否则,它将返回 FALSE。
注解
EngInitializeSafeSemaphore 和 EngDeleteSafeSemaphore 是线程安全的,在锁下运行并在信号量上维护引用计数。 这可以保证只创建一个信号灯,而不考虑同时调用它的次数,并且信号量一直存在,直到释放对信号灯的最后一次引用。
初始化安全信号灯后,驱动程序可以使用 ENGSAFESEMAPHORE 结构的 hsem 成员调用 EngAcquireSemaphore 和 EngReleaseSemaphore 进行同步。
当 EngInitializeSafeSemaphore 的调用方不再需要信号灯时,应调用 EngDeleteSafeSemaphore。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 2000 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |