Partager via


Fonction EngInitializeSafeSemaphore (winddi.h)

La fonction EngInitializeSafeSemaphore initialise le sémaphore sécurisé spécifié.

Syntaxe

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

Paramètres

[out] pssem

Pointeur vers la structure ENGSAFESEMAPHORE allouée par le pilote à initialiser.

Valeur retournée

EngInitializeSafeSemaphore retourne TRUE en cas de réussite. Sinon, il retourne FALSE.

Remarques

EngInitializeSafeSemaphore et EngDeleteSafeSemaphore sont thread-safe, fonctionnant sous un verrou et conservant un nombre de références sur le sémaphore. Cela garantit qu’un seul sémaphore est créé quel que soit le nombre d’appels simultanés à celui-ci, et que le sémaphore existe jusqu’à ce que la dernière référence à celui-ci soit publiée.

Une fois le sémaphore sécurisé initialisé, le pilote peut appeler EngAcquireSemaphore et EngReleaseSemaphore avec le membre hsem de la structure ENGSAFESEMAPHORE pour la synchronisation.

Les appelants d’EngInitializeSafeSemaphore doivent appeler EngDeleteSafeSemaphore lorsqu’ils n’ont plus besoin du sémaphore.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

ENGSAFESEMAPHORE

EngAcquireSemaphore

EngDeleteSafeSemaphore

EngIsSemaphoreOwned

EngIsSemaphoreOwnedByCurrentThread

EngReleaseSemaphore