Partager via


DeleteSynchronizationBarrier, fonction (synchapi.h)

Supprime une barrière de synchronisation.

Syntaxe

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

Paramètres

[in, out] lpBarrier

Pointeur vers la barrière de synchronisation à supprimer.

Valeur retournée

La fonction DeleteSynchronizationBarrier retourne TRUEtoujours .

Remarques

DeleteSynchronizationBarrier libère une barrière de synchronisation lorsqu’elle n’est plus nécessaire. Il est prudent d’appeler DeleteSynchronizationBarrier immédiatement après l’appel d’EnterSynchronizationBarrier , car cette fonction garantit que tous les threads de la barrière ont fini de l’utiliser avant d’autoriser la libération de la barrière.

Si une barrière de synchronisation ne sera jamais supprimée, les threads peuvent spécifier l’indicateur SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE lorsqu’ils entrent dans la barrière. Cet indicateur empêche la fonction d’ignorer le travail supplémentaire requis pour la sécurité de suppression, ce qui peut améliorer les performances. Tous les threads utilisant la barrière doivent spécifier cet indicateur ; si un thread ne le fait pas, l’indicateur est ignoré. Soyez prudent lorsque vous utilisez SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, car la suppression d’une barrière pendant que cet indicateur est en vigueur peut entraîner un accès de handle non valide et provoquer le blocage permanent d’un ou plusieurs threads.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête synchapi.h
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

EnterSynchronizationBarrier

InitializeSynchronizationBarrier

Barrières de synchronisation

API Vertdll disponibles dans les enclaves VBS