ENGSAFESEMAPHORE structure (winddi.h)
The ENGSAFESEMAPHORE structure provides the driver with a thread-safe semaphore.
Syntax
typedef struct _ENGSAFESEMAPHORE {
HSEMAPHORE hsem;
LONG lCount;
} ENGSAFESEMAPHORE;
Members
hsem
Handle to the semaphore.
lCount
Specifies the reference count on the semaphore.
Remarks
A safe semaphore is a wrapper that contains a handle to a semaphore and a reference count on that semaphore.
The driver allocates an ENGSAFESEMAPHORE structure and passes it to EngInitializeSafeSemaphore for initialization. GDI operates the safe semaphore under a lock and maintains a reference count on it, making it suitable for multithreading.
Once the safe semaphore is initialized, the driver can call EngAcquireSemaphore and EngReleaseSemaphore with the hsem for synchronization.
Requirements
Requirement | Value |
---|---|
Header | winddi.h (include Winddi.h) |