Delen via


Synchronisatiefuncties

De volgende functies worden gebruikt in synchronisatie.

Asynchrone functies

Asynchrone functie Beschrijving
APCProc- Een door de toepassing gedefinieerde callback-functie die wordt gebruikt met de functie QueueUserAPC.
GetOverlappedResult- Haalt de resultaten van een overlappende bewerking op.
GetOverlappedResultEx Haalt de resultaten van een overlappende bewerking op binnen een opgegeven time-outinterval.
QueueUserAPC- Hiermee voegt u een APC-object (asynchrone procedureaanroep) toe aan de APC-wachtrij van de opgegeven thread.

 

Voorwaardevariabele en SRW-vergrendelingsfuncties

Voorwaardevariabele en SRW-vergrendelingsfunctie Beschrijving
AcquireSRWLockExclusive Hiermee verkrijgt u een slanke lezer/schrijververgrendeling (SRW) in de exclusieve modus.
AcquireSRWLockShared Hiermee verkrijgt u een slanke lezer/schrijververgrendeling (SRW) in de gedeelde modus.
InitializeConditionVariable- Initialiseert een voorwaardevariabele.
InitializeSRWLock Initialiseer een slanke lezer/schrijververgrendeling (SRW).
ReleaseSRWLockExclusive- Hiermee wordt een smal lezer/schrijverslot (SRW) uitgebracht dat is verkregen in de exclusieve modus.
ReleaseSRWLockShared- Hiermee wordt een smal lezer-/schrijverslot (SRW) uitgebracht dat is verkregen in de gedeelde modus.
SleepConditionVariableCS- Slaapstanden op de opgegeven voorwaardevariabele en geeft de opgegeven kritieke sectie vrij als een atomische bewerking.
SleepConditionVariableSRW- Slaapstanden op de opgegeven voorwaardevariabele en geeft de opgegeven vergrendeling vrij als een atomische bewerking.
TryAcquireSRWLockExclusive Pogingen om een slanke lezer/schrijver (SRW)-vergrendeling te verkrijgen in de exclusieve modus. Als de aanroep is geslaagd, heeft de aanroepende thread het eigendom van de vergrendeling.
TryAcquireSRWLockShared Pogingen om een slanke lezer/schrijververgrendeling (SRW) te verkrijgen in de gedeelde modus. Als de aanroep is geslaagd, heeft de aanroepende thread het eigendom van de vergrendeling.
WakeAllConditionVariable- Alle threads laten wachten op de opgegeven voorwaardevariabele.
WakeConditionVariable- Een enkele thread laten wachten op de opgegeven voorwaardevariabele.

 

Kritieke sectiefuncties

Kritieke sectiefunctie Beschrijving
DeleteCriticalSection Hiermee worden alle resources uitgebracht die worden gebruikt door een niet-eigendom kritiek sectieobject.
EnterCriticalSection Wacht op eigendom van het opgegeven kritieke sectieobject.
InitializeCriticalSection Initialiseert een kritiek sectieobject.
InitializeCriticalSectionAndSpinCount Initialiseert een kritiek sectieobject en stelt het aantal spinnen voor de kritieke sectie in.
InitializeCriticalSectionEx Initialiseert een kritiek sectieobject met het aantal kringdraaien en optionele vlaggen.
LeaveCriticalSection Hiermee wordt het eigendom van het opgegeven kritieke sectieobject vrijgegeven.
SetCriticalSectionSpinCount Hiermee stelt u het aantal kringen voor de opgegeven kritieke sectie in.
TryEnterCriticalSection Probeert een kritieke sectie in te voeren zonder te blokkeren.

 

Gebeurtenisfuncties

Gebeurtenisfunctie Beschrijving
CreateEvent- Hiermee maakt of opent u een benoemd of niet-benoemd gebeurtenisobject.
CreateEventEx- Hiermee maakt of opent u een benoemd of niet-benoemd gebeurtenisobject en retourneert u een ingang naar het object.
OpenEvent- Hiermee opent u een bestaand benoemd gebeurtenisobject.
PulseEvent- Hiermee stelt u het opgegeven gebeurtenisobject in op de gesignaleerde status en stelt u het vervolgens opnieuw in op de niet-ondertekende status nadat het juiste aantal wachtthreads is vrijgegeven.
ResetEvent- Hiermee stelt u het opgegeven gebeurtenisobject in op de niet-ondertekende status.
SetEvent- Hiermee stelt u het opgegeven gebeurtenisobject in op de gesignaleerde status.

 

Eenmalige initialisatiefuncties

Eenmalige initialisatiefunctie Beschrijving
InitOnceBeginInitialize Begint eenmalige initialisatie.
InitOnceComplete- De eenmalige initialisatie wordt voltooid.
InitOnceExecuteOnce- Hiermee wordt de opgegeven functie eenmalig uitgevoerd. Er kunnen geen andere threads die dezelfde eenmalige initialisatiestructuur opgeven, deze functie uitvoeren terwijl deze wordt uitgevoerd door de huidige thread.
InitOnceInitialize Initialiseert een eenmalige initialisatiestructuur.

 

Onderling vergrendelde functies

Interlocked, functie Beschrijving
InterlockedAdd- Voert een atomische optellingsbewerking uit op de opgegeven LONG waarden.
InterlockedAddAcquire- Voert een atomische optellingsbewerking uit op de opgegeven LONG waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedAddRelease- Voert een atomische optellingsbewerking uit op de opgegeven LONG waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedAddNoFence- Voert een atomische optellingsbewerking uit op de opgegeven LONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedAdd64- Voert een atomische optellingsbewerking uit op de opgegeven LONGLONG waarden.
InterlockedAddAcquire64- Voert een atomische optellingsbewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedAddRelease64- Voert een atomische optellingsbewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedAddNoFence64- Voert een atomische optellingsbewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedAnd Voert een atomische AND-bewerking uit op de opgegeven LONG-waarden.
InterlockedAndAcquire- Voert een atomische AND-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedAndRelease- Voert een atomische AND-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedAndNoFence- Voert een atomische AND-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedAnd8- Voert een atomische AND-bewerking uit op de opgegeven teken waarden.
InterlockedAnd8Acquire- Voert een atomische AND-bewerking uit op de opgegeven teken waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedAnd8Release- Voert een atomische AND-bewerking uit op de opgegeven teken waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedAnd8NoFence- Voert een atomische AND-bewerking uit op de opgegeven teken waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedAnd16- Voert een atomische AND-bewerking uit op de opgegeven SHORT waarden.
InterlockedAnd16Acquire- Voert een atomische AND-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedAnd16Release- Voert een atomische AND-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedAnd16NoFence- Voert een atomische AND-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedAnd64- Voert een atomische AND-bewerking uit op de opgegeven LONGLONG waarden.
InterlockedAnd64Acquire- Voert een atomische AND-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedAnd64Release- Voert een atomische AND-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedAnd64NoFence Voert een atomische AND-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedBitTestAndComplement- Test de opgegeven bit van de opgegeven LONG waarde en vult deze aan.
InterlockedBitTestAndComplement64- Test de opgegeven bit van de opgegeven LONG64 waarde en vult deze aan. De bewerking is atomisch
InterlockedBitTestAndResetAcquire- Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 0. De bewerking is atomisch en wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde
InterlockedBitTestAndResetRelease- Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 0. De bewerking is atomisch en wordt uitgevoerd met behulp van semantiek voor geheugenrelease
InterlockedBitTestAndSetAcquire- Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 1. De bewerking is atomisch en wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde
InterlockedBitTestAndSetRelease- Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 1. De bewerking is atomisch en wordt uitgevoerd met semantiek voor het rangschikken van geheugenrelease
InterlockedBitTestAndReset Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 0.
InterlockedBitTestAndReset64- Test de opgegeven bit van de opgegeven LONG64 waarde en stelt deze in op 0.
InterlockedBitTestAndSet Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 1.
InterlockedBitTestAndSet64- Test de opgegeven bit van de opgegeven LONG64 waarde en stelt deze in op 1.
InterlockedCompare64Exchange128 Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt de opgegeven 64-bits waarden en uitwisselingen met de opgegeven 128-bits waarde op basis van het resultaat van de vergelijking.
InterlockedCompare64ExchangeAcquire128 Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt de opgegeven 64-bits waarden en uitwisselingen met de opgegeven 128-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedCompare64ExchangeRelease128 Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt de opgegeven 64-bits waarden en uitwisselingen met de opgegeven 128-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedCompareExchange- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 32-bits waarden en uitwisselingen met een andere 32-bits waarde op basis van het resultaat van de vergelijking.
InterlockedCompareExchangeAcquire Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 32-bits waarden en uitwisselingen met een andere 32-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedCompareExchangeRelease- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 32-bits waarden en uitwisselingen met een andere 32-bits waarde op basis van het resultaat van de vergelijking. De uitwisseling wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedCompareExchangeNoFence- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 32-bits waarden en uitwisselingen met een andere 32-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedCompareExchange64- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 64-bits waarden en uitwisselingen met een andere 64-bits waarde op basis van het resultaat van de vergelijking.
InterlockedCompareExchangeAcquire64- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 64-bits waarden en uitwisselingen met een andere 64-bits waarde op basis van het resultaat van de vergelijking. De uitwisseling wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedCompareExchangeRelease64- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 64-bits waarden en uitwisselingen met een andere 64-bits waarde op basis van het resultaat van de vergelijking. De uitwisseling wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedCompareExchangeNoFence64 Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 64-bits waarden en uitwisselingen met een andere 64-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedCompareExchange16 Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en uitwisselingen met een andere 16-bits waarde op basis van het resultaat van de vergelijking
InterlockedCompareExchange16Acquire Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en uitwisselingen met een andere 16-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde
InterlockedCompareExchange16Release- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en uitwisselingen met een andere 16-bits waarde op basis van het resultaat van de vergelijking. De uitwisseling wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde
InterlockedCompareExchange16NoFence Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en uitwisselingen met een andere 16-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedCompareExchange128 Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 128-bits waarden en uitwisselingen met een andere 128-bits waarde op basis van het resultaat van de vergelijking
InterlockedCompareExchangePointer- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven aanwijzerwaarden. De functie vergelijkt twee opgegeven aanwijzerwaarden en uitwisselingen met een andere aanwijzerwaarde op basis van het resultaat van de vergelijking.
InterlockedCompareExchangePointerAcquire- Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven aanwijzerwaarden. De functie vergelijkt twee opgegeven aanwijzerwaarden en uitwisselingen met een andere aanwijzerwaarde op basis van het resultaat van de vergelijking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedCompareExchangePointerRelease Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven aanwijzerwaarden. De functie vergelijkt twee opgegeven aanwijzerwaarden en uitwisselingen met een andere aanwijzerwaarde op basis van het resultaat van de vergelijking. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedCompareExchangePointerNoFence Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven aanwijzerwaarden en uitwisselingen met een andere aanwijzerwaarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedDecrement- De waarde van de opgegeven 32-bits variabele neemt af (verlaagt met één) als een atomische bewerking.
InterlockedDecrementAcquire- De waarde van de opgegeven 32-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedDecrementRelease- De waarde van de opgegeven 32-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedDecrementNoFence- De waarde van de opgegeven 32-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedDecrement16 De waarde van de opgegeven 16-bits variabele verlagen (neemt af met één) als een atomische bewerking
InterlockedDecrement16Acquire De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde
InterlockedDecrement16Release- De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde
InterlockedDecrement16NoFence De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedDecrement64- De waarde van de opgegeven 64-bits variabele neemt af (verlaagt met één) als een atomische bewerking.
InterlockedDecrementAcquire64 De waarde van de opgegeven 64-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedDecrementRelease64- De waarde van de opgegeven 64-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedDecrementNoFence64- De waarde van de opgegeven 64-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedExchange- Hiermee stelt u een 32-bits variabele in op de opgegeven waarde als atomische bewerking.
InterlockedExchangeAcquire- Hiermee stelt u een 32-bits variabele in op de opgegeven waarde als atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedExchangeNoFence- Hiermee stelt u een 64-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedExchange8 Hiermee stelt u een 8-bits variabele in op de opgegeven waarde als een atomische bewerking
InterlockedExchange16 Hiermee stelt u een 16-bits variabele in op de opgegeven waarde als een atomische bewerking.
InterlockedExchange16Acquire Hiermee stelt u een 16-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het verkrijgen van geheugenvolgorde
InterlockedExchange16NoFence Hiermee stelt u een 16-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedExchange64- Hiermee stelt u een 64-bits variabele in op de opgegeven waarde als een atomische bewerking.
InterlockedExchangeAcquire64 Hiermee stelt u een 32-bits variabele in op de opgegeven waarde als atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedExchangeNoFence64 Hiermee stelt u een 64-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedExchangePointer- Atomisch wisselt een paar aanwijzerwaarden uit.
InterlockedExchangePointerAcquire- Atomisch wisselt een paar aanwijzerwaarden uit. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedExchangePointerNoFence- Atomisch wisselen een paar adressen uit. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedExchangeSubtract Voert een atomische aftrekking van twee waarden uit.
InterlockedExchangeAdd- Voert een atomische toevoeging van twee 32-bits waarden uit.
InterlockedExchangeAddAcquire- Voert een atomische toevoeging van twee 32-bits waarden uit. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedExchangeAddRelease- Voert een atomische toevoeging van twee 32-bits waarden uit. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedExchangeAddNoFence- Voert een atomische toevoeging van twee 32-bits waarden uit. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedExchangeAdd64- Voert een atomische toevoeging van twee 64-bits waarden uit.
InterlockedExchangeAddAcquire64- Voert een atomische toevoeging van twee 64-bits waarden uit. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedExchangeAddRelease64- Voert een atomische toevoeging van twee 64-bits waarden uit. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedExchangeAddNoFence64- Voert een atomische toevoeging van twee 64-bits waarden uit. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedIncrement- Verhoogt (met één) de waarde van de opgegeven 32-bits variabele als een atomische bewerking.
InterlockedIncrementAcquire Verhoogt (met één) de waarde van de opgegeven 32-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedIncrementRelease- Verhoogt (met één) de waarde van de opgegeven 32-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het bestellen van geheugen vrijgeven.
InterlockedIncrementNoFence Verhoogt (met één) de waarde van de opgegeven 32-bits variabele als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedIncrement16 Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking
InterlockedIncrement16Acquire Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het verkrijgen van geheugenvolgorde
InterlockedIncrement16Release- Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het bestellen van geheugen vrijgeven
InterlockedIncrement16NoFence Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedIncrement64- Verhoogt (met één) de waarde van de opgegeven 64-bits variabele als een atomische bewerking.
InterlockedIncrementAcquire64 Verhoogt (met één) de waarde van de opgegeven 64-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedIncrementRelease64- Verhoogt (met één) de waarde van de opgegeven 64-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het bestellen van geheugen vrijgeven.
InterlockedIncrementNoFence64- Verhoogt (met één) de waarde van de opgegeven 64-bits variabele als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedOr- Voert een atomische OR-bewerking uit op de opgegeven LONG-waarden.
InterlockedOrAcquire- Voert een atomische OR-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedOrRelease- Voert een atomische OR-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedOrNoFence- Voert een atomische OR-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedOr8- Voert een atomische OR-bewerking uit op de opgegeven teken waarden.
InterlockedOr8Acquire- Voert een atomische OR-bewerking uit op de opgegeven teken waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedOr8Release- Voert een atomische OR-bewerking uit op de opgegeven teken waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedOr8NoFence- Voert een atomische OR-bewerking uit op de opgegeven teken waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedOr16- Voert een atomische OR-bewerking uit op de opgegeven SHORT-waarden.
InterlockedOr16Acquire Voert een atomische OR-bewerking uit op de opgegeven SHORT-waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedOr16Release- Voert een atomische OR-bewerking uit op de opgegeven SHORT-waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedOr16NoFence- Voert een atomische OR-bewerking uit op de opgegeven SHORT-waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedOr64- Voert een atomische OR-bewerking uit op de opgegeven LONGLONG waarden.
InterlockedOr64Acquire- Voert een atomische OR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedOr64Release- Voert een atomische OR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedOr64NoFence- Voert een atomische OR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedXor- Voert een atomische XOR-bewerking uit op de opgegeven LONG waarden.
InterlockedXorAcquire- Voert een atomische XOR-bewerking uit op de opgegeven LONG waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedXorRelease- Voert een atomische XOR-bewerking uit op de opgegeven LONG waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedXorNoFence- Voert een atomische XOR-bewerking uit op de opgegeven LONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedXor8- Voert een atomische XOR-bewerking uit op de opgegeven teken waarden.
InterlockedXor8Acquire- Voert een atomische XOR-bewerking uit op de opgegeven teken waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedXor8Release- Voert een atomische XOR-bewerking uit op de opgegeven teken waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedXor8NoFence- Voert een atomische XOR-bewerking uit op de opgegeven teken waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedXor16- Voert een atomische XOR-bewerking uit op de opgegeven SHORT waarden.
InterlockedXor16Acquire- Voert een atomische XOR-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedXor16Release- Voert een atomische XOR-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedXor16NoFence Voert een atomische XOR-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken
InterlockedXor64- Voert een atomische XOR-bewerking uit op de opgegeven LONGLONG waarden.
InterlockedXor64Acquire Voert een atomische XOR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
InterlockedXor64Release- Voert een atomische XOR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
InterlockedXor64NoFence Voert een atomische XOR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken

 

Mutex-functies

Mutex, functie Beschrijving
CreateMutex- Hiermee maakt of opent u een benoemd of niet-benoemd mutex-object.
CreateMutexEx- Hiermee maakt of opent u een benoemd of niet-benoemd mutex-object en retourneert u een ingang naar het object.
OpenMutex- Hiermee opent u een bestaand mutex-object met de naam.
ReleaseMutex- Hiermee wordt het eigendom van het opgegeven mutex-object vrijgegeven.

 

Privénaamruimtefuncties

Privénaamruimtefunctie Beschrijving
AddSIDToBoundaryDescriptor Voegt een nieuwe beveiligings-id (SID) toe aan de opgegeven grensdescriptor.
AddIntegrityLabelToBoundaryDescriptor Voegt een nieuwe vereiste beveiligings-id (SID) toe aan de opgegeven grensdescriptor.
ClosePrivateNamespace Hiermee sluit u een geopende naamruimtegreep.
CreateBoundaryDescriptor Hiermee maakt u een grensdescriptor.
CreatePrivateNamespace Hiermee maakt u een privénaamruimte.
DeleteBoundaryDescriptor Hiermee verwijdert u de opgegeven grensdescriptor.
OpenPrivateNamespace Hiermee opent u een privénaamruimte.

 

Semaphore-functies

Semaphore, functie Beschrijving
CreateSemaphore- Hiermee maakt of opent u een benoemd of niet-benoemd semafore-object.
CreateSemaphoreEx Hiermee maakt of opent u een benoemd of niet-benoemd semafore-object en retourneert u een ingang naar het object.
OpenSemaphore- Hiermee opent u een bestaand benoemd semaphore-object.
ReleaseSemaphore Hiermee verhoogt u het aantal van het opgegeven semaphore-object met een opgegeven hoeveelheid.

 

Singly-gekoppelde lijstfuncties

Singly-gekoppelde lijstfunctie Beschrijving
InitializeSListHead Initialiseert het hoofd van een zanglijst.
InterlockedFlushSList Hiermee wordt de hele lijst met items in een singly gekoppelde lijst leeggemaakt.
InterlockedPopEntrySList Hiermee verwijdert u een item aan de voorzijde van een ingly-gekoppelde lijst.
InterlockedPushEntrySList Hiermee voegt u een item aan de voorzijde van een ingly-gekoppelde lijst in.
InterlockedPushListSList Hiermee voegt u een singly-gekoppelde lijst toe aan de voorzijde van een andere ingly-gekoppelde lijst.
InterlockedPushListSListSListEx- Hiermee voegt u een singly-gekoppelde lijst toe aan de voorzijde van een andere ingly-gekoppelde lijst. Toegang tot de lijsten wordt gesynchroniseerd op een multiprocessorsysteem. Deze versie van de methode maakt geen gebruik van de __fastcall aanroepconventie
QueryDepthSList Hiermee haalt u het aantal vermeldingen op in de opgegeven singly gekoppelde lijst.
RtlFirstEntrySList Hiermee haalt u het eerste item op in een singly gekoppelde lijst.
RtlInitializeSListHead Initialiseert het hoofd van een zanglijst. Toepassingen moeten in plaats daarvan InitializeSListHead aanroepen.
RtlInterlockedFlushSList Hiermee wordt de hele lijst met items in een singly gekoppelde lijst leeggemaakt. Toepassingen moeten in plaats daarvan InterlockedFlushSList aanroepen.
RtlInterlockedPopEntrySList Hiermee verwijdert u een item aan de voorzijde van een ingly-gekoppelde lijst. Toepassingen moeten in plaats daarvan InterlockedPopEntrySList aanroepen.
RtlInterlockedPushEntrySList Hiermee voegt u een item aan de voorzijde van een ingly-gekoppelde lijst in. Toepassingen moeten in plaats daarvan InterlockedPushEntrySList aanroepen.
RtlQueryDepthSList Hiermee haalt u het aantal vermeldingen op in de opgegeven singly gekoppelde lijst. Toepassingen moeten in plaats daarvan QueryDepthSList aanroepen.

 

Synchronisatiebarrièrefuncties

Synchronisatiebarrièrefunctie Beschrijving
DeleteSynchronizationBarrier Hiermee verwijdert u een synchronisatiebarrière.
EnterSynchronizationBarrier Voert een synchronisatiebarrière in en wacht op het juiste aantal threads om bij de barrière te rendez-vousen.
InitializeSynchronizationBarrier Initialiseert een nieuwe synchronisatiebarrière.

 

Timerfuncties voor timerwachtrij

Timer-wachtrij-timerfunctie Beschrijving
ChangeTimerQueueTimer- Hiermee werkt u een timer in de timerwachtrij bij.
CreateTimerQueue- Hiermee maakt u een wachtrij voor timers.
CreateTimerQueueTimer- Hiermee maakt u een timer voor de timerwachtrij.
DeleteTimerQueue Hiermee verwijdert u een timerwachtrij.
DeleteTimerQueueEx- Hiermee verwijdert u een timerwachtrij.
DeleteTimerQueueTimer- Hiermee wordt een timer in de timerwachtrij geannuleerd.

 

Wachtfuncties

Wachtfunctie Beschrijving
MsgWaitForMultipleObjects Wacht tot een of alle opgegeven objecten de gesignaleerde status hebben of het time-outinterval is verstreken. De objecten kunnen invoer gebeurtenisobjecten bevatten.
MsgWaitForMultipleObjectsEx- Wacht tot een of alle opgegeven objecten de status Gesignaleerd hebben, wordt een I/O-voltooiingsroutine of asynchrone procedureaanroep (APC) in de wachtrij geplaatst bij de thread of het time-outinterval is verstreken. De matrix met objecten kan invoer gebeurtenisobjecten bevatten.
RegisterWaitForSingleObject Hiermee wordt een wachtthread in de threadgroep om te wachten op het object.
SignalObjectAndWait- Geeft het ene object aan en wacht op een ander object als één bewerking.
Registratie vanwait- ongedaan maken Hiermee annuleert u een geregistreerde wachtbewerking.
Registratie vanWaitEx- ongedaan maken Hiermee annuleert u een geregistreerde wachtbewerking.
WaitForMultipleObjects Wacht tot een of alle opgegeven objecten de gesignaleerde status hebben of het time-outinterval is verstreken.
WaitForMultipleObjectsEx- Wacht tot een of alle opgegeven objecten de status Gesignaleerd hebben, wordt een I/O-voltooiingsroutine of asynchrone procedureaanroep (APC) in de wachtrij geplaatst bij de thread of het time-outinterval is verstreken.
WaitForSingleObject- Wacht totdat het opgegeven object de gesignaleerde status heeft of het time-outinterval is verstreken.
WaitForSingleObjectEx- Wacht totdat het opgegeven object de gesignaleerde status heeft, wordt een I/O-voltooiingsroutine of asynchrone procedureaanroep (APC) in de wachtrij geplaatst voor de thread of het time-outinterval is verstreken.
WaitOnAddress- Wacht tot de waarde op het opgegeven adres is gewijzigd.
WaitOrTimerCallback- Een door de toepassing gedefinieerde functie die fungeert als het beginadres voor een timer callback of een geregistreerde wait callback.
WakeByAddressAll- Hiermee worden alle threads geactiveerd die wachten op de waarde van een adres dat moet worden gewijzigd.
WakeByAddressSingle- Hiermee wordt een thread geactiveerd die wacht tot de waarde van een adres is gewijzigd.

 

Waitable-timerfuncties

De functie Waitable-timer Beschrijving
CancelWaitableTimer- Hiermee stelt u de opgegeven wachttijdtimer in op de inactieve status.
CreateWaitableTimer- Hiermee maakt of opent u een wachtbaar timerobject.
CreateWaitableTimerEx- Hiermee maakt of opent u een wachtbaar timerobject en retourneert u een ingang naar het object.
OpenWaitableTimer- Hiermee opent u een bestaand benoemd timerobject met de naam.
SetWaitableTimer- Hiermee activeert u de opgegeven wachttijdtimer.
SetWaitableTimerEx- Hiermee activeert u de opgegeven wachttijdtimer en geeft u contextinformatie voor de timer. .
TimerAPCProc- Toepassingsgedefinieerde timer voltooiingsroutine die wordt gebruikt met de SetWaitableTimer functie.