Compartir a través de


Función LeaveCriticalSection (synchapi.h)

Libera la propiedad del objeto de sección crítica especificado.

Sintaxis

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

Parámetros

[in, out] lpCriticalSection

Puntero al objeto de sección crítica.

Valor devuelto

None

Observaciones

Los subprocesos de un único proceso pueden usar un objeto de sección crítica para la sincronización de exclusión mutua. El proceso es responsable de asignar la memoria utilizada por un objeto de sección crítica, que puede hacer declarando una variable de tipo CRITICAL_SECTION. Antes de usar una sección crítica, algún subproceso del proceso debe llamar a la función InitializeCriticalSection o InitializeCriticalSectionAndSpinCount para inicializar el objeto.

Un subproceso usa la función EnterCriticalSection o TryEnterCriticalSection para adquirir la propiedad de un objeto de sección crítica. Para liberar su propiedad, el subproceso debe llamar a LeaveCriticalSection una vez por cada vez que escribió la sección crítica.

Si un subproceso llama a LeaveCriticalSection cuando no tiene la propiedad del objeto de sección crítica especificado, se produce un error que puede provocar que otro subproceso use EnterCriticalSection para esperar indefinidamente.

LeaveCriticalSection no tiene acceso a la estructura de CRITICAL_SECTION especificada después de liberar la propiedad de un objeto de sección crítico.

Cualquier subproceso del proceso puede usar la función DeleteCriticalSection para liberar los recursos del sistema que se asignaron cuando se inicializó el objeto de sección crítica. Después de llamar a esta función, el objeto de sección crítica ya no se puede usar para la sincronización.

Ejemplos

Para ver un ejemplo que usa LeaveCriticalSection, consulte Uso de objetos de sección críticos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado synchapi.h (incluye Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Objetos de sección críticos

DeleteCriticalSection

EnterCriticalSection

InitializeCriticalSection

InitializeCriticalSectionAndSpinCount

Funciones de sincronización

TryEnterCriticalSection

API de Vertdll disponibles en enclaves de VBS