Compartilhar via


Função EngInitializeSafeSemaphore (winddi.h)

A função EngInitializeSafeSemaphore inicializa o semáforo seguro especificado.

Sintaxe

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

Parâmetros

[out] pssem

Ponteiro para a estrutura ENGSAFESEMAPHORE alocada pelo driver a ser inicializada.

Retornar valor

EngInitializeSafeSemaphore retorna TRUE após o sucesso. Caso contrário, retornará FALSE.

Comentários

EngInitializeSafeSemaphore e EngDeleteSafeSemaphore são thread-safe, operando sob um bloqueio e mantendo uma contagem de referência no semáforo. Isso garante que apenas um semáforo seja criado independentemente do número de chamadas simultâneas para ele e que o semáforo exista até que a última referência a ele seja liberada.

Depois que o semáforo seguro for inicializado, o driver poderá chamar EngAcquireSemaphore e EngReleaseSemaphore com o membro hsem da estrutura ENGSAFESEMAPHORE para sincronização.

Os chamadores do EngInitializeSafeSemaphore devem chamar EngDeleteSafeSemaphore quando não precisarem mais do semáforo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho winddi.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys

Confira também

ENGSAFESEMAPHORE

EngAcquireSemaphore

EngDeleteSafeSemaphore

EngIsSemaphoreOwned

EngIsSemaphoreOwnedByCurrentThread

EngReleaseSemaphore