Поделиться через


Функция EngInitializeSafeSemaphore (winddi.h)

Функция EngInitializeSafeSemaphore инициализирует указанный безопасный семафор.

Синтаксис

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

Параметры

[out] pssem

Указатель на инициализированную структуру ENGSAFESEMAPHORE , выделенную драйвером.

Возвращаемое значение

EngInitializeSafeSemaphore возвращает true при успешном выполнении. В противном случае возвращается значение FALSE.

Комментарии

EngInitializeSafeSemaphore и EngDeleteSafeSemaphore являются потокобезопасными, работают под блокировкой и поддерживают счетчик ссылок на семафор. Это гарантирует, что будет создан только один семафор независимо от количества одновременных вызовов и что семафор существует до тех пор, пока не будет освобождена последняя ссылка на него.

После инициализации безопасного семафора драйвер может вызвать EngAcquireSemaphore и EngReleaseSemaphoreс членом структурыENGSAFESEMAPHORE для синхронизации.

Вызывающие EngInitializeSafeSemaphore должны вызывать EngDeleteSafeSemaphore , если семафор им больше не нужен.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

См. также раздел

ENGSAFESEMAPHORE

EngAcquireSemaphore

EngDeleteSafeSemaphore

EngIsSemaphoreOwned

EngIsSemaphoreOwnedByCurrentThread

EngReleaseSemaphore