Fonctions de synchronisation
Les fonctions suivantes sont utilisées dans la synchronisation.
- fonctions asynchrones
- variable condition et fonctions de verrouillage SRW
- fonctions de section critique
- fonctions d’événement
- fonctions d’initialisation unique
- fonctions interblocées
- fonctions mutex
- fonctions d’espace de noms privé
- fonctions sémaphores
- fonctions de liste liée singly
- fonctions de barrière de synchronisation
- fonctions du minuteur de file d’attente
- fonctions Wait
- fonctions waitable-timer
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. |