Share via


Función DeleteSynchronizationBarrier (synchapi.h)

Elimina una barrera de sincronización.

Sintaxis

BOOL DeleteSynchronizationBarrier(
  [in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);

Parámetros

[in, out] lpBarrier

Puntero a la barrera de sincronización que se va a eliminar.

Valor devuelto

La función DeleteSynchronizationBarrier siempre devuelve TRUE.

Comentarios

DeleteSynchronizationBarrier libera una barrera de sincronización cuando ya no es necesaria. Es seguro llamar a DeleteSynchronizationBarrier inmediatamente después de llamar a EnterSynchronizationBarrier porque esa función garantiza que todos los subprocesos de la barrera hayan terminado de usarlo antes de permitir que se libere la barrera.

Si nunca se eliminará una barrera de sincronización, los subprocesos pueden especificar la marca SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE cuando entran en la barrera. Esta marca hace que la función omita el trabajo adicional necesario para la seguridad de eliminación, lo que puede mejorar el rendimiento. Todos los subprocesos que usen la barrera deben especificar esta marca; Si no lo hace algún subproceso, se omite la marca . Tenga cuidado al usar SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, ya que eliminar una barrera mientras esta marca está en vigor puede dar lugar a un acceso de identificador no válido y hacer que uno o varios subprocesos se bloqueen permanentemente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado synchapi.h
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

EnterSynchronizationBarrier

InitializeSynchronizationBarrier

Barreras de sincronización

API de Vertdll disponibles en enclaves de VBS