Partager via


Fonctions de synchronisation

Les fonctions suivantes sont utilisées dans la synchronisation.

Fonctions asynchrones

Fonction asynchrone Description
APCProc Fonction de rappel définie par l’application utilisée avec la fonction QueueUserAPC.
GetOverlappedResult Récupère les résultats d’une opération qui se chevauche.
GetOverlappedResultEx Récupère les résultats d’une opération qui se chevauche dans un intervalle de délai d’attente spécifié.
QueueUserAPC Ajoute un objet d’appel de procédure asynchrone en mode utilisateur (APC) à la file d’attente APC du thread spécifié.

 

Variables de condition et fonctions de verrouillage SRW

Variable de condition et fonction de verrouillage SRW Description
AcquireSRWLockExclusive Acquiert un verrou de lecteur/enregistreur mince (SRW) en mode exclusif.
AcquireSRWLockShared Acquiert un verrou de lecteur/enregistreur (SRW) mince en mode partagé.
InitializeConditionVariable Initialise une variable de condition.
InitializeSRWLock Initialisez un verrou lecteur/writer (SRW) mince.
ReleaseSRWLockExclusive Libère un verrou de lecteur/enregistreur (SRW) mince qui a été acquis en mode exclusif.
releaseSRWLockShared Libère un verrou de lecteur/enregistreur (SRW) mince qui a été acquis en mode partagé.
SleepConditionVariableCS Veille sur la variable de condition spécifiée et libère la section critique spécifiée en tant qu’opération atomique.
sleepConditionVariableSRW Veille sur la variable de condition spécifiée et libère le verrou spécifié en tant qu’opération atomique.
TryAcquireSRWLockExclusive Tente d’acquérir un verrou de lecteur/enregistreur (SRW) mince en mode exclusif. Si l’appel réussit, le thread appelant prend possession du verrou.
TryAcquireSRWLockShared Tente d’acquérir un verrou de lecteur/enregistreur (SRW) mince en mode partagé. Si l’appel réussit, le thread appelant prend possession du verrou.
WakeAllConditionVariable Réveillez tous les threads en attente sur la variable de condition spécifiée.
wakeConditionVariable Réveillez un thread unique en attente sur la variable de condition spécifiée.

 

Fonctions de section critique

Fonction de section critique Description
DeleteCriticalSection Libère toutes les ressources utilisées par un objet de section critique non noyé.
EnterCriticalSection Attend la propriété de l’objet de section critique spécifié.
InitializeCriticalSection Initialise un objet de section critique.
InitializeCriticalSectionAndSpinCount Initialise un objet de section critique et définit le nombre de tours pour la section critique.
InitializeCriticalSectionEx Initialise un objet de section critique avec un nombre de spins et des indicateurs facultatifs.
LeaveCriticalSection Libère la propriété de l’objet de section critique spécifié.
SetCriticalSectionSpinCount Définit le nombre de tours pour la section critique spécifiée.
TryEnterCriticalSection Tente d’entrer une section critique sans bloquer.

 

Fonctions d’événement

Fonction d’événement Description
CreateEvent Crée ou ouvre un objet d’événement nommé ou non nommé.
CreateEventEx Crée ou ouvre un objet d’événement nommé ou non nommé et retourne un handle à l’objet.
OpenEvent Ouvre un objet d’événement nommé existant.
pulseEvent Définit l’objet d’événement spécifié à l’état signalé, puis le réinitialise à l’état non signé après avoir libéré le nombre approprié de threads en attente.
ResetEvent Définit l’objet d’événement spécifié à l’état non signé.
SetEvent Définit l’objet d’événement spécifié à l’état signalé.

 

Fonctions d’initialisation ponctuelles

Fonction d’initialisation unique Description
InitOnceBeginInitialize Commence l’initialisation ponctuelle.
InitOnceComplete Termine l’initialisation ponctuelle.
InitOnceExecuteOnce Exécute la fonction spécifiée une fois. Aucun autre thread qui spécifie la même structure d’initialisation unique peut exécuter cette fonction pendant qu’elle est exécutée par le thread actuel.
InitOnceInitialize Initialise une structure d’initialisation unique.

 

Fonctions verrouillées

Fonction interblocée Description
InterlockedAdd Effectue une opération d’addition atomique sur les valeurs LONG spécifiées.
InterlockedAddAcquire Effectue une opération d’addition atomique sur les valeurs LONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedAddRelease Effectue une opération d’addition atomique sur les valeurs LONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedAddNoFence Effectue une opération d’addition atomique sur les valeurs LONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedAdd64 Effectue une opération d’addition atomique sur les valeurs LONGLONG spécifiées.
InterlockedAddAcquire64 Effectue une opération d’addition atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedAddRelease64 Effectue une opération d’addition atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedAddNoFence64 Effectue une opération d’addition atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedAnd Effectue une opération AND atomique sur les valeurs long spécifiées.
InterlockedAndAcquire Effectue une opération AND atomique sur les valeurs long spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedAndRelease Effectue une opération AND atomique sur les valeurs long spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedAndNoFence Effectue une opération AND atomique sur les valeurs long spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedAnd8 Effectue une opération AND atomique sur les valeurs char spécifiées.
InterlockedAnd8Acquire Effectue une opération AND atomique sur les valeurs char spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedAnd8Release Effectue une opération AND atomique sur les valeurs char spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedAnd8NoFence Effectue une opération AND atomique sur les valeurs char spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedAnd16 Effectue une opération AND atomique sur les valeurs short spécifiées.
InterlockedAnd16Acquire Effectue une opération AND atomique sur les valeurs short spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedAnd16Release Effectue une opération AND atomique sur les valeurs short spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedAnd16NoFence Effectue une opération AND atomique sur les valeurs short spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
interlockedAnd64 Effectue une opération AND atomique sur les valeurs LONGLONG spécifiées.
InterlockedAnd64Acquire Effectue une opération AND atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedAnd64Release Effectue une opération AND atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedAnd64NoFence Effectue une opération AND atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedBitTestAndComplement Teste le bit spécifié de l'LONG spécifié et le complète.
InterlockedBitTestAndComplement64 Teste le bit spécifié du LONG64 spécifié valeur et le complète. L’opération est atomique
InterlockedBitTestAndResetAcquire Teste le bit spécifié de la valeur LONG spécifiée et la définit sur 0. L’opération est atomique, et elle est effectuée avec l’acquisition de la sémantique d’ordre de la mémoire
interlockedBitTestAndResetRelease Teste le bit spécifié de la valeur LONG spécifiée et la définit sur 0. L’opération est atomique et elle est effectuée à l’aide de la sémantique de libération de mémoire
InterlockedBitTestAndSetAcquire Teste le bit spécifié de la valeur LONG spécifiée et la définit sur 1. L’opération est atomique, et elle est effectuée avec l’acquisition de la sémantique d’ordre de la mémoire
InterlockedBitTestAndSetRelease Teste le bit spécifié de la valeur LONG spécifiée et la définit sur 1. L’opération est atomique, et elle est effectuée avec la sémantique d’ordre de la mémoire de mise en production
interlockedBitTestAndReset Teste le bit spécifié de la valeur LONG spécifiée et la définit sur 0.
InterlockedBitTestAndReset64 Teste le bit spécifié du LONG64 spécifié valeur et le définit sur 0.
interlockedBitTestAndSet Teste le bit spécifié de la valeur LONG spécifiée et la définit sur 1.
interlockedBitTestAndSet64 Teste le bit spécifié de la valeur LONG64 spécifiée et la définit sur 1.
InterlockedCompare64Exchange128 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare les valeurs 64 bits et les échanges spécifiés avec la valeur 128 bits spécifiée en fonction du résultat de la comparaison.
InterlockedCompare64ExchangeAcquire128 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare les valeurs 64 bits et les échanges spécifiés avec la valeur 128 bits spécifiée en fonction du résultat de la comparaison. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedCompare64ExchangeRelease128 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare les valeurs 64 bits et les échanges spécifiés avec la valeur 128 bits spécifiée en fonction du résultat de la comparaison. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedCompareExchange Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 32 bits et échanges spécifiés avec une autre valeur 32 bits en fonction du résultat de la comparaison.
InterlockedCompareExchangeAcquire Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 32 bits et échanges spécifiés avec une autre valeur 32 bits en fonction du résultat de la comparaison. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedCompareExchangeRelease Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 32 bits et échanges spécifiés avec une autre valeur 32 bits en fonction du résultat de la comparaison. L’échange est effectué avec la sémantique de classement de la mémoire de mise en production.
InterlockedCompareExchangeNoFence Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 32 bits et échanges spécifiés avec une autre valeur 32 bits en fonction du résultat de la comparaison. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedCompareExchange64 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 64 bits spécifiées et échange avec une autre valeur 64 bits en fonction du résultat de la comparaison.
InterlockedCompareExchangeAcquire64 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 64 bits spécifiées et échange avec une autre valeur 64 bits en fonction du résultat de la comparaison. L’échange est effectué avec la sémantique d’ordre de la mémoire.
InterlockedCompareExchangeRelease64 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 64 bits spécifiées et échange avec une autre valeur 64 bits en fonction du résultat de la comparaison. L’échange est effectué avec la sémantique de classement de la mémoire de mise en production.
InterlockedCompareExchangeNoFence64 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 64 bits spécifiées et échange avec une autre valeur 64 bits en fonction du résultat de la comparaison. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedCompareExchange16 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 16 bits spécifiées et échange avec une autre valeur 16 bits en fonction du résultat de la comparaison
InterlockedCompareExchange16Acquire Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 16 bits spécifiées et échange avec une autre valeur 16 bits en fonction du résultat de la comparaison. L’opération est effectuée avec l’acquisition d’une sémantique d’ordre de mémoire
InterlockedCompareExchange16Release Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 16 bits spécifiées et échange avec une autre valeur 16 bits en fonction du résultat de la comparaison. L’échange est effectué avec la sémantique de classement de la mémoire de mise en production
InterlockedCompareExchange16NoFence Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 16 bits spécifiées et échange avec une autre valeur 16 bits en fonction du résultat de la comparaison. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedCompareExchange128 Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs 128 bits spécifiées et échange avec une autre valeur 128 bits en fonction du résultat de la comparaison
interlockedCompareExchangePointer Effectue une opération atomique de comparaison et d’échange sur les valeurs de pointeur spécifiées. La fonction compare deux valeurs de pointeur et échanges spécifiés avec une autre valeur de pointeur en fonction du résultat de la comparaison.
InterlockedCompareExchangePointerAcquire Effectue une opération atomique de comparaison et d’échange sur les valeurs de pointeur spécifiées. La fonction compare deux valeurs de pointeur et échanges spécifiés avec une autre valeur de pointeur en fonction du résultat de la comparaison. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedCompareExchangePointerRelease Effectue une opération atomique de comparaison et d’échange sur les valeurs de pointeur spécifiées. La fonction compare deux valeurs de pointeur et échanges spécifiés avec une autre valeur de pointeur en fonction du résultat de la comparaison. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedCompareExchangePointerNoFence Effectue une opération atomique de comparaison et d’échange sur les valeurs spécifiées. La fonction compare deux valeurs de pointeur et échanges spécifiés avec une autre valeur de pointeur en fonction du résultat de la comparaison. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
interlockedDecrement Décrémente (diminue d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique.
InterlockedDecrementAcquire Décrémente (diminue d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedDecrementRelease Décrémente (diminue d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedDecrementNoFence Décrémente (diminue d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedDecrement16 Décrémente (diminue d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique
InterlockedDecrement16Acquire Décrémente (diminue d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique. L’opération est effectuée avec l’acquisition d’une sémantique d’ordre de mémoire
InterlockedDecrement16Release Décrémente (diminue d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production
InterlockedDecrement16NoFence Décrémente (diminue d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedDecrement64 Décrémente (diminue d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique.
InterlockedDecrementAcquire64 Décrémente (diminue d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedDecrementRelease64 Décrémente (diminue d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedDecrementNoFence64 Décrémente (diminue d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedExchange Définit une variable 32 bits sur la valeur spécifiée en tant qu’opération atomique.
InterlockedExchangeAcquire Définit une variable 32 bits sur la valeur spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedExchangeNoFence Définit une variable 64 bits sur la valeur spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedExchange8 Définit une variable 8 bits sur la valeur spécifiée en tant qu’opération atomique
InterlockedExchange16 Définit une variable 16 bits sur la valeur spécifiée en tant qu’opération atomique.
InterlockedExchange16Acquire Définit une variable 16 bits sur la valeur spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique d’ordre de la mémoire
InterlockedExchange16NoFence Définit une variable 16 bits sur la valeur spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedExchange64 Définit une variable 64 bits sur la valeur spécifiée en tant qu’opération atomique.
InterlockedExchangeAcquire64 Définit une variable 32 bits sur la valeur spécifiée en tant qu’opération atomique. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedExchangeNoFence64 Définit une variable 64 bits sur la valeur spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedExchangePointer Échange atomiquement une paire de valeurs de pointeur.
InterlockedExchangePointerAcquire Échange atomiquement une paire de valeurs de pointeur. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedExchangePointerNoFence Échange atomiquement une paire d’adresses. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedExchangeSubtract Effectue une soustraction atomique de deux valeurs.
interlockedExchangeAdd Effectue un ajout atomique de deux valeurs 32 bits.
InterlockedExchangeAddAcquire Effectue un ajout atomique de deux valeurs 32 bits. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedExchangeAddRelease Effectue un ajout atomique de deux valeurs 32 bits. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedExchangeAddNoFence Effectue un ajout atomique de deux valeurs 32 bits. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
interlockedExchangeAdd64 Effectue un ajout atomique de deux valeurs 64 bits.
InterlockedExchangeAddAcquire64 Effectue un ajout atomique de deux valeurs 64 bits. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedExchangeAddRelease64 Effectue un ajout atomique de deux valeurs 64 bits. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedExchangeAddNoFence64 Effectue un ajout atomique de deux valeurs 64 bits. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
interlockedIncrement Incrémente (augmente d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique.
InterlockedIncrementAcquire Incrémente (augmente d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique d’ordre de la mémoire.
InterlockedIncrementRelease Incrémente (augmente d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique de classement de mémoire de mise en production.
InterlockedIncrementNoFence Incrémente (augmente d’un) la valeur de la variable 32 bits spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedIncrement16 Incrémente (augmente d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique
InterlockedIncrement16Acquire Incrémente (augmente d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique d’ordre de la mémoire
InterlockedIncrement16Release Incrémente (augmente d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique de classement de mémoire de mise en production
InterlockedIncrement16NoFence Incrémente (augmente d’un) la valeur de la variable 16 bits spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedIncrement64 Incrémente (augmente d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique.
InterlockedIncrementAcquire64 Incrémente (augmente d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique d’ordre de la mémoire.
InterlockedIncrementRelease64 Incrémente (augmente d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique. L’opération est effectuée à l’aide de la sémantique de classement de mémoire de mise en production.
InterlockedIncrementNoFence64 Incrémente (augmente d’un) la valeur de la variable 64 bits spécifiée en tant qu’opération atomique. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedOr Effectue une opération OR atomique sur les valeurs LONG spécifiées.
InterlockedOrAcquire Effectue une opération OR atomique sur les valeurs LONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedOrRelease Effectue une opération OR atomique sur les valeurs LONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedOrNoFence Effectue une opération OR atomique sur les valeurs LONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedOr8 Effectue une opération OR atomique sur les valeurs de char spécifiées.
InterlockedOr8Acquire Effectue une opération OR atomique sur les valeurs de char spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedOr8Release Effectue une opération OR atomique sur les valeurs de char spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedOr8NoFence Effectue une opération OR atomique sur les valeurs de char spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedOr16 Effectue une opération OR atomique sur les valeurs SHORT spécifiées.
InterlockedOr16Acquire Effectue une opération OR atomique sur les valeurs SHORT spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedOr16Release Effectue une opération OR atomique sur les valeurs SHORT spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedOr16NoFence Effectue une opération OR atomique sur les valeurs SHORT spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
interlockedOr64 Effectue une opération OR atomique sur les valeurs LONGLONG spécifiées.
InterlockedOr64Acquire Effectue une opération OR atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedOr64Release Effectue une opération OR atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedOr64NoFence Effectue une opération OR atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedXor Effectue une opération XOR atomique sur les valeurs LONG spécifiées.
InterlockedXorAcquire Effectue une opération XOR atomique sur les valeurs LONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
interlockedXorRelease Effectue une opération XOR atomique sur les valeurs LONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedXorNoFence Effectue une opération XOR atomique sur les valeurs LONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedXor8 Effectue une opération XOR atomique sur les valeurs char spécifiées.
InterlockedXor8Acquire Effectue une opération XOR atomique sur les valeurs char spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedXor8Release Effectue une opération XOR atomique sur les valeurs char spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedXor8NoFence Effectue une opération XOR atomique sur les valeurs char spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedXor16 Effectue une opération XOR atomique sur les valeurs short spécifiées.
InterlockedXor16Acquire Effectue une opération XOR atomique sur les valeurs short spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedXor16Release Effectue une opération XOR atomique sur les valeurs short spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedXor16NoFence Effectue une opération XOR atomique sur les valeurs short spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire
InterlockedXor64 Effectue une opération XOR atomique sur les valeurs LONGLONG spécifiées.
InterlockedXor64Acquire Effectue une opération XOR atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique d’ordre de la mémoire.
InterlockedXor64Release Effectue une opération XOR atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée avec la sémantique de classement de la mémoire de mise en production.
InterlockedXor64NoFence Effectue une opération XOR atomique sur les valeurs LONGLONG spécifiées. L’opération est effectuée atomiquement, mais sans utiliser de barrières de mémoire

 

Fonctions mutex

Mutex, fonction Description
CreateMutex Crée ou ouvre un objet mutex nommé ou non nommé.
CreateMutexEx Crée ou ouvre un objet mutex nommé ou non nommé et retourne un handle à l’objet.
OpenMutex Ouvre un objet mutex nommé existant.
releaseMutex Libère la propriété de l’objet mutex spécifié.

 

Fonctions d’espace de noms privés

Fonction d’espace de noms privé Description
AddSIDToBoundaryDescriptor Ajoute un nouvel identificateur de sécurité (SID) au descripteur de limite spécifié.
AddIntegrityLabelToBoundaryDescriptor Ajoute un nouvel identificateur de sécurité requis (SID) au descripteur de limite spécifié.
ClosePrivateNamespace Ferme un handle d’espace de noms ouvert.
createBoundaryDescriptor Crée un descripteur de limite.
CreatePrivateNamespace Crée un espace de noms privé.
DeleteBoundaryDescriptor Supprime le descripteur de limite spécifié.
OpenPrivateNamespace Ouvre un espace de noms privé.

 

Fonctions de sémaphore

Sémaphore, fonction Description
CreateSemaphore Crée ou ouvre un objet sémaphore nommé ou sans nom.
CreateSemaphoreEx Crée ou ouvre un objet sémaphore nommé ou sans nom et retourne un handle à l’objet.
openSemaphore Ouvre un objet sémaphore nommé existant.
ReleaseSemaphore Augmente le nombre d’objets sémaphores spécifiés par une quantité spécifiée.

 

Fonctions de liste liée singly

Fonction de liste liée singly Description
InitializeSListHead Initialise la tête d’une liste liée singly.
InterlockedFlushSList Vide toute la liste des éléments d’une liste liée de manière singly.
InterlockedPopEntrySList Supprime un élément à partir de l’avant d’une liste liée de manière singly.
InterlockedPushEntrySList Insère un élément à l’avant d’une liste liée singly.
InterlockedPushListSListSList Insère une liste liée en singly à l’avant d’une autre liste liée singly.
InterlockedPushListSListEx Insère une liste liée en singly à l’avant d’une autre liste liée singly. L’accès aux listes est synchronisé sur un système multiprocesseur. Cette version de la méthode n’utilise pas la convention d’appel __fastcall
QueryDepthSList Récupère le nombre d’entrées dans la liste liée singly spécifiée.
RtlFirstEntrySList Récupère la première entrée d’une liste liée singly.
RtlInitializeSListHead Initialise la tête d’une liste liée singly. Les applications doivent appeler InitializeSListHead à la place.
RtlInterlockedFlushSList Vide toute la liste des éléments d’une liste liée de manière singly. Les applications doivent appeler InterlockedFlushSList à la place.
RtlInterlockedPopEntrySList Supprime un élément à partir de l’avant d’une liste liée de manière singly. Les applications doivent appeler InterlockedPopEntrySList à la place.
RtlInterlockedPushEntrySList Insère un élément à l’avant d’une liste liée singly. Les applications doivent appeler InterlockedPushEntrySList à la place.
RtlQueryDepthSList Récupère le nombre d’entrées dans la liste liée singly spécifiée. Les applications doivent appeler QueryDepthSList à la place.

 

Fonctions de barrière de synchronisation

Fonction de barrière de synchronisation Description
DeleteSynchronizationBarrier Supprime une barrière de synchronisation.
EnterSynchronizationBarrier Entre une barrière de synchronisation et attend le nombre approprié de threads à rendez-vous à la barrière.
InitializeSynchronizationBarrier Initialise une nouvelle barrière de synchronisation.

 

Fonctions du minuteur de file d’attente du minuteur

Fonction minuteur de file d’attente du minuteur Description
changeTimerQueueTimer Met à jour un minuteur de file d’attente.
CreateTimerQueue Crée une file d’attente pour les minuteurs.
CreateTimerQueueTimer Crée un minuteur de file d’attente du minuteur.
DeleteTimerQueue Supprime une file d’attente du minuteur.
DeleteTimerQueueEx Supprime une file d’attente du minuteur.
DeleteTimerQueueTimer Annule un minuteur de file d’attente du minuteur.

 

Fonctions d’attente

Fonction Wait Description
MsgWaitForMultipleObjects Attend qu’un ou tous les objets spécifiés soient dans l’état signalé ou que l’intervalle de délai d’attente s’écoule. Les objets peuvent inclure des objets d’événement d’entrée.
MsgWaitForMultipleObjectsEx Attend que l’un ou l’ensemble des objets spécifiés soient dans l’état signalé, qu’une routine d’achèvement d’E/S ou un appel de procédure asynchrone (APC) soit mis en file d’attente vers le thread, soit que l’intervalle de délai d’attente s’écoule. Le tableau d’objets peut inclure des objets d’événement d’entrée.
RegisterWaitForSingleObject Dirige un thread d’attente dans le pool de threads pour attendre sur l’objet.
SignalObjectAndWait Signale un objet et attend un autre objet en tant qu’opération unique.
désinscrireWait Annule une opération d’attente inscrite.
DésinscrireWaitEx Annule une opération d’attente inscrite.
WaitForMultipleObjects Attend qu’un ou tous les objets spécifiés soient dans l’état signalé ou que l’intervalle de délai d’attente s’écoule.
WaitForMultipleObjectsEx Attend que l’un ou l’ensemble des objets spécifiés soient dans l’état signalé, qu’une routine d’achèvement d’E/S ou un appel de procédure asynchrone (APC) soit mis en file d’attente vers le thread, soit que l’intervalle de délai d’attente s’écoule.
WaitForSingleObject Attend que l’objet spécifié soit dans l’état signalé ou que l’intervalle de délai d’attente s’écoule.
WaitForSingleObjectEx Attend que l’objet spécifié soit à l’état signalé, qu’une routine d’achèvement d’E/S ou un appel de procédure asynchrone (APC) soit mis en file d’attente vers le thread, soit que l’intervalle de délai d’attente s’écoule.
WaitOnAddress Attend que la valeur à l’adresse spécifiée change.
WaitOrTimerCallback Fonction définie par l’application qui sert d’adresse de départ pour un rappel de minuteur ou un rappel d’attente inscrit.
WakeByAddressAll Réveille tous les threads en attente de la valeur d’une adresse à modifier.
WakeByAddressSingle Réveille un thread en attente de la valeur d’une adresse à modifier.

 

Fonctions du minuteur d’attente

Fonction du minuteur d’attente Description
CancelWaitableTimer Définit le minuteur d’attente spécifié à l’état inactif.
CreateWaitableTimer Crée ou ouvre un objet minuteur pouvant être attendu.
CreateWaitableTimerEx Crée ou ouvre un objet minuteur pouvant être attendu et retourne un handle à l’objet.
OpenWaitableTimer Ouvre un objet minuteur nommé existant.
SetWaitableTimer Active le minuteur d’attente spécifié.
SetWaitableTimerEx Active le minuteur pouvant être attendu spécifié et fournit des informations contextuelles pour le minuteur. .
TimerAPCProc Routine d’achèvement du minuteur définie par l’application utilisée avec la fonction SetWaitableTimer.