Partager via


Fonction LeaveCriticalSection (synchapi.h)

Libère la propriété de l’objet de section critique spécifié.

Syntaxe

void LeaveCriticalSection(
  [in, out] LPCRITICAL_SECTION lpCriticalSection
);

Paramètres

[in, out] lpCriticalSection

Pointeur vers l’objet de section critique.

Valeur de retour

None

Remarques

Les threads d’un processus unique peuvent utiliser un objet de section critique pour la synchronisation d’exclusion mutuelle. Le processus est chargé d’allouer la mémoire utilisée par un objet de section critique, ce qu’il peut faire en déclarant une variable de type CRITICAL_SECTION. Avant d’utiliser une section critique, un thread du processus doit appeler la fonction InitializeCriticalSection ou InitializeCriticalSectionAndSpinCount pour initialiser l’objet.

Un thread utilise la fonction EnterCriticalSection ou TryEnterCriticalSection pour acquérir la propriété d’un objet de section critique. Pour libérer sa propriété, le thread doit appeler LeaveCriticalSection une fois pour chaque fois qu’il est entré dans la section critique.

Si un thread appelle LeaveCriticalSection alors qu’il n’a pas la propriété de l’objet de section critique spécifié, une erreur se produit qui peut entraîner l’attente indéfinie d’un autre thread utilisant EnterCriticalSection .

LeaveCriticalSection n’accède pas à la structure CRITICAL_SECTION spécifiée après la libération de la propriété d’un objet de section critique.

N’importe quel thread du processus peut utiliser la fonction DeleteCriticalSection pour libérer les ressources système qui ont été allouées lors de l’initialisation de l’objet de section critique. Une fois cette fonction appelée, l’objet de section critique ne peut plus être utilisé pour la synchronisation.

Exemples

Pour obtenir un exemple qui utilise LeaveCriticalSection, consultez Utilisation d’objets de section critiques.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête synchapi.h (inclure Windows.h sur Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Objets de section critique

DeleteCriticalSection

EnterCriticalSection

InitializeCriticalSection

InitializeCriticalSectionAndSpinCount

Fonctions de synchronisation

TryEnterCriticalSection

API Vertdll disponibles dans les enclaves VBS