Synchronisatiefuncties
De volgende functies worden gebruikt in synchronisatie.
- Asynchrone functies
- voorwaardevariabele en SRW-vergrendelingsfuncties
- kritieke sectiefuncties
- gebeurtenisfuncties
- eenmalige initialisatiefuncties
- interlocked Functions
- Mutex-functies
- privénaamruimtefuncties
- Semaphore-functies
- Singly-gekoppelde lijstfuncties
- synchronisatiebarrièrefuncties
- timerfuncties voor timerwachtrij
- wachtfuncties
- waitable-timerfuncties
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. |