Dela via


Synkroniseringsfunktioner

Följande funktioner används i synkroniseringen.

Asynkrona funktioner

Asynkron funktion Beskrivning
APCProc En programdefinierad återanropsfunktion som används med funktionen QueueUserAPC.
GetOverlappedResult Hämtar resultatet av en överlappande åtgärd.
GetOverlappedResultEx Hämtar resultatet av en överlappande åtgärd inom ett angivet tidsgränsintervall.
QueueUserAPC Lägger till ett APC-objekt (asynkront proceduranrop) i APC-kön för den angivna tråden.

 

Villkorsvariabel och SRW-låsfunktioner

Villkorsvariabel och SRW-låsfunktion Beskrivning
AcquireSRWLockExclusive Hämtar ett SRW-lås (Slim Reader/Writer) i exklusivt läge.
AcquireSRWLockShared Hämtar ett SRW-lås (Slim Reader/Writer) i delat läge.
InitializeConditionVariable Initierar en villkorsvariabel.
InitieraRWLock- Initiera ett SRW-lås (Slim Reader/Writer).
ReleaseSRWLockExclusive Släpper ett SRW-lås (Slim Reader/Writer) som har förvärvats i exklusivt läge.
ReleaseSRWLockShared Släpper ett SRW-lås (Slim Reader/Writer) som hämtades i delat läge.
SleepConditionVariableCS Viloläge för den angivna villkorsvariabeln och släpper det angivna kritiska avsnittet som en atomisk åtgärd.
SleepConditionVariableSRW Viloläge för den angivna villkorsvariabeln och frigör det angivna låset som en atomisk åtgärd.
TryAcquireSRWLockExclusive Försöker skaffa ett SRW-lås (Slim Reader/Writer) i exklusivt läge. Om anropet lyckas tar den anropande tråden över ägarskapet för låset.
TryAcquireSRWLockShared Försöker hämta ett SRW-lås (Slim Reader/Writer) i delat läge. Om anropet lyckas tar den anropande tråden över ägarskapet för låset.
WakeAllConditionVariable Aktivera alla trådar som väntar på den angivna villkorsvariabeln.
WakeConditionVariable Aktivera en enda tråd som väntar på den angivna villkorsvariabeln.

 

Viktiga avsnittsfunktioner

Funktion för kritiskt avsnitt Beskrivning
DeleteCriticalSection Frigör alla resurser som används av ett oägt kritiskt avsnittsobjekt.
EnterCriticalSection Väntar på ägarskap för det angivna kritiska avsnittsobjektet.
InitializeCriticalSection Initierar ett kritiskt avsnittsobjekt.
InitializeCriticalSectionAndSpinCount Initierar ett kritiskt avsnittsobjekt och anger rotationsantalet för det kritiska avsnittet.
InitializeCriticalSectionEx Initierar ett kritiskt avsnittsobjekt med ett rotationsantal och valfria flaggor.
LeaveCriticalSection Frigör ägarskap för det angivna kritiska avsnittsobjektet.
SetCriticalSectionSpinCount Anger rotationsantalet för det angivna kritiska avsnittet.
TryEnterCriticalSection Försöker ange ett kritiskt avsnitt utan att blockera.

 

Händelsefunktioner

Händelsefunktion Beskrivning
CreateEvent Skapar eller öppnar ett namngivet eller namnlöst händelseobjekt.
CreateEventEx Skapar eller öppnar ett namngivet eller namnlöst händelseobjekt och returnerar ett handtag till objektet.
OpenEvent Öppnar ett befintligt namngivet händelseobjekt.
PulseEvent Anger det angivna händelseobjektet till det signalerade tillståndet och återställer det sedan till det icke-signalerade tillståndet när lämpligt antal väntande trådar har släppts.
ResetEvent Anger det angivna händelseobjektet till det icke-signalerade tillståndet.
SetEvent Anger det angivna händelseobjektet till det signalerade tillståndet.

 

Engångsinitieringsfunktioner

Engångsinitieringsfunktion Beskrivning
InitOnceBeginInitialize Påbörjar engångsinitiering.
InitOnceComplete Slutför en engångsinitiering.
InitOnceExecuteOnce Kör den angivna funktionen en gång. Inga andra trådar som anger samma initieringsstruktur för en gång kan köra den här funktionen medan den körs av den aktuella tråden.
InitOnceInitialize Initierar en engångsinitieringsstruktur.

 

Sammankopplade funktioner

Sammanflätad funktion Beskrivning
InterlockedAdd Utför en atomisk additionsåtgärd på angivna LONG- värden.
InterlockedAddAcquire Utför en atomisk additionsåtgärd på angivna LONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedAddRelease Utför en atomisk additionsåtgärd på angivna LONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedAddNoFence Utför en atomisk additionsåtgärd på angivna LONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedAdd64 Utför en atomisk additionsåtgärd på angivna LONGLONG- värden.
InterlockedAddAcquire64 Utför en atomisk additionsåtgärd på angivna LONGLONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedAddRelease64 Utför en atomisk additionsåtgärd på angivna LONGLONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedAddNoFence64 Utför en atomisk additionsåtgärd på angivna LONGLONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedAnd Utför en atomisk AND-åtgärd på angivna LONG- värden.
InterlockedAndAcquire Utför en atomisk AND-åtgärd på angivna LONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedAndRelease Utför en atomisk AND-åtgärd på angivna LONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedAndNoFence Utför en atomisk AND-åtgärd på angivna LONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedAnd8 Utför en atomisk AND-åtgärd på angivna tecken värden.
InterlockedAnd8Acquire Utför en atomisk AND-åtgärd på angivna tecken värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedAnd8Release Utför en atomisk AND-åtgärd på angivna tecken värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedAnd8NoFence Utför en atomisk AND-åtgärd på angivna tecken värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedAnd16 Utför en atomisk AND-åtgärd på angivna SHORT- värden.
InterlockedAnd16Acquire Utför en atomisk AND-åtgärd på angivna SHORT- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedAnd16Release Utför en atomisk AND-åtgärd på angivna SHORT- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedAnd16NoFence Utför en atomisk AND-åtgärd på angivna SHORT- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedAnd64 Utför en atomisk AND-åtgärd på angivna LONGLONG- värden.
InterlockedAnd64Acquire Utför en atomisk AND-åtgärd på angivna LONGLONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedAnd64Release Utför en atomisk AND-åtgärd på angivna LONGLONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedAnd64NoFence Utför en atomisk AND-åtgärd på angivna LONGLONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedBitTestAndComplement Testar den angivna biten av det angivna värdet LONG och kompletterar det.
InterlockedBitTestAndComplement64 Testar den angivna biten av det angivna värdet LONG64 och kompletterar det. Åtgärden är atomisk
InterlockedBitTestAndResetAcquire Testar den angivna biten av det angivna värdet LONG och anger det till 0. Åtgärden är atomisk och utförs med hämtande av minnesordningssemantik
InterlockedBitTestAndResetRelease Testar den angivna biten av det angivna värdet LONG och anger det till 0. Åtgärden är atomisk och utförs med hjälp av minnessemantik
InterlockedBitTestAndSetAcquire Testar den angivna biten av det angivna värdet LONG och anger det till 1. Åtgärden är atomisk och utförs med hämtande av minnesordningssemantik
InterlockedBitTestAndSetRelease Testar den angivna biten av det angivna värdet LONG och anger det till 1. Åtgärden är atomisk och utförs med versionsminnesordningssemantik
InterlockedBitTestAndReset Testar den angivna biten av det angivna värdet LONG och anger det till 0.
InterlockedBitTestAndReset64 Testar den angivna biten av det angivna värdet LONG64 och anger det till 0.
InterlockedBitTestAndSet Testar den angivna biten av det angivna värdet LONG och anger det till 1.
InterlockedBitTestAndSet64 Testar den angivna biten av det angivna värdet LONG64 och anger det till 1.
InterlockedCompare64Exchange128 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför de angivna 64-bitarsvärdena och utbyten med det angivna 128-bitarsvärdet baserat på resultatet av jämförelsen.
InterlockedCompare64ExchangeAcquire128 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför de angivna 64-bitarsvärdena och utbyten med det angivna 128-bitarsvärdet baserat på resultatet av jämförelsen. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedCompare64ExchangeRelease128 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför de angivna 64-bitarsvärdena och utbyten med det angivna 128-bitarsvärdet baserat på resultatet av jämförelsen. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedCompareExchange Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 32-bitarsvärden och utbyter med ett annat 32-bitarsvärde baserat på resultatet av jämförelsen.
InterlockedCompareExchangeAcquire Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 32-bitarsvärden och utbyter med ett annat 32-bitarsvärde baserat på resultatet av jämförelsen. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedCompareExchangeRelease Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 32-bitarsvärden och utbyter med ett annat 32-bitarsvärde baserat på resultatet av jämförelsen. Utbytet utförs med versionsminnesordningssemantik.
InterlockedCompareExchangeNoFence Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 32-bitarsvärden och utbyter med ett annat 32-bitarsvärde baserat på resultatet av jämförelsen. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedCompareExchange64 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 64-bitarsvärden och utbyter med ett annat 64-bitarsvärde baserat på resultatet av jämförelsen.
InterlockedCompareExchangeAcquire64 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 64-bitarsvärden och utbyter med ett annat 64-bitarsvärde baserat på resultatet av jämförelsen. Utbytet utförs med hämta minnesordningssemantik.
InterlockedCompareExchangeRelease64 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 64-bitarsvärden och utbyter med ett annat 64-bitarsvärde baserat på resultatet av jämförelsen. Utbytet utförs med versionsminnesordningssemantik.
InterlockedCompareExchangeNoFence64 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 64-bitarsvärden och utbyter med ett annat 64-bitarsvärde baserat på resultatet av jämförelsen. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedCompareExchange16 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 16-bitarsvärden och utbyten med ett annat 16-bitarsvärde baserat på resultatet av jämförelsen
InterlockedCompareExchange16Acquire Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 16-bitarsvärden och utbyter med ett annat 16-bitarsvärde baserat på resultatet av jämförelsen. Åtgärden utförs med hämta minnesordningssemantik
InterlockedCompareExchange16Release Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 16-bitarsvärden och utbyter med ett annat 16-bitarsvärde baserat på resultatet av jämförelsen. Utbytet utförs med versionsminnesordningssemantik
InterlockedCompareExchange16NoFence Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 16-bitarsvärden och utbyter med ett annat 16-bitarsvärde baserat på resultatet av jämförelsen. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedCompareExchange128 Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna 128-bitarsvärden och utbyter med ytterligare ett 128-bitarsvärde baserat på resultatet av jämförelsen
InterlockedCompareExchangePointer Utför en atomisk jämförelse- och utbytesåtgärd på de angivna pekarvärdena. Funktionen jämför två angivna pekarvärden och utbyten med ett annat pekarvärde baserat på resultatet av jämförelsen.
InterlockedCompareExchangePointerAcquire Utför en atomisk jämförelse- och utbytesåtgärd på de angivna pekarvärdena. Funktionen jämför två angivna pekarvärden och utbyten med ett annat pekarvärde baserat på resultatet av jämförelsen. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedCompareExchangePointerRelease Utför en atomisk jämförelse- och utbytesåtgärd på de angivna pekarvärdena. Funktionen jämför två angivna pekarvärden och utbyten med ett annat pekarvärde baserat på resultatet av jämförelsen. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedCompareExchangePointerNoFence Utför en atomisk jämförelse- och utbytesåtgärd på de angivna värdena. Funktionen jämför två angivna pekarvärden och utbyten med ett annat pekarvärde baserat på resultatet av jämförelsen. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedDecrement Minskningar (minskar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd.
InterlockedDecrementAcquire Minskningar (minskar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedDecrementRelease Minskningar (minskar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedDecrementNoFence Minskningar (minskar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedDecrement16 Minskningar (minskar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd
InterlockedDecrement16Acquire Minskningar (minskar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hämta minnesordningssemantik
InterlockedDecrement16Release Minskningar (minskar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med versionsminnesordningssemantik
InterlockedDecrement16NoFence Minskningar (minskar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedDecrement64 Minskningar (minskar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd.
InterlockedDecrementAcquire64 Minskningar (minskar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedDecrementRelease64 Minskningar (minskar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedDecrementNoFence64 Minskningar (minskar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedExchange Anger en 32-bitarsvariabel till det angivna värdet som en atomisk åtgärd.
InterlockedExchangeAcquire Anger en 32-bitarsvariabel till det angivna värdet som en atomisk åtgärd. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedExchangeNoFence Anger en 64-bitarsvariabel till det angivna värdet som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedExchange8 Anger en 8-bitarsvariabel till det angivna värdet som en atomisk åtgärd
InterlockedExchange16 Anger en 16-bitars variabel till det angivna värdet som en atomisk åtgärd.
InterlockedExchange16Acquire Anger en 16-bitars variabel till det angivna värdet som en atomisk åtgärd. Åtgärden utförs med hjälp av hämta minnesordningssemantik
InterlockedExchange16NoFence Anger en 16-bitars variabel till det angivna värdet som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedExchange64 Anger en 64-bitarsvariabel till det angivna värdet som en atomisk åtgärd.
InterlockedExchangeAcquire64 Anger en 32-bitarsvariabel till det angivna värdet som en atomisk åtgärd. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedExchangeNoFence64 Anger en 64-bitarsvariabel till det angivna värdet som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedExchangePointer Atomiskt utbyter ett par pekarvärden.
InterlockedExchangePointerAcquire Atomiskt utbyter ett par pekarvärden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedExchangePointerNoFence Atomiskt utbyter ett par adresser. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedExchangeSubtract Utför en atomisk subtraktion av två värden.
InterlockedExchangeLägg till Utför en atomisk addition av två 32-bitarsvärden.
InterlockedExchangeAddAcquire Utför en atomisk addition av två 32-bitarsvärden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedExchangeAddRelease Utför en atomisk addition av två 32-bitarsvärden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedExchangeAddNoFence Utför en atomisk addition av två 32-bitarsvärden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedExchangeAdd64 Utför en atomisk addition av två 64-bitarsvärden.
InterlockedExchangeAddAcquire64 Utför en atomisk addition av två 64-bitarsvärden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedExchangeAddRelease64 Utför en atomisk addition av två 64-bitarsvärden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedExchangeAddNoFence64 Utför en atomisk addition av två 64-bitarsvärden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedIncrement Ökar (ökar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd.
InterlockedIncrementAcquire Ökar (ökar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hjälp av hämta minnesordningssemantik.
InterlockedIncrementRelease Ökar (ökar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hjälp av versionsminnesordningssemantik.
InterlockedIncrementNoFence Ökar (ökar med en) värdet för den angivna 32-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedIncrement16 Ökar (ökar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd
InterlockedIncrement16Acquire Ökar (ökar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hjälp av hämta minnesordningssemantik
InterlockedIncrement16Release Ökar (ökar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hjälp av versionsminnesordningssemantik
InterlockedIncrement16NoFence Ökar (ökar med en) värdet för den angivna 16-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedIncrement64 Ökar (ökar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd.
InterlockedIncrementAcquire64 Ökar (ökar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hjälp av hämta minnesordningssemantik.
InterlockedIncrementRelease64 Ökar (ökar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs med hjälp av versionsminnesordningssemantik.
InterlockedIncrementNoFence64 Ökar (ökar med en) värdet för den angivna 64-bitarsvariabeln som en atomisk åtgärd. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedOr Utför en atomisk ELLER-åtgärd på angivna LONG- värden.
InterlockedOrAcquire Utför en atomisk ELLER-åtgärd på angivna LONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedOrRelease Utför en atomisk ELLER-åtgärd på angivna LONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedOrNoFence Utför en atomisk ELLER-åtgärd på angivna LONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedOr8 Utför en atomisk OR-åtgärd på angivna tecken värden.
InterlockedOr8Acquire Utför en atomisk OR-åtgärd på angivna tecken värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedOr8Release Utför en atomisk OR-åtgärd på angivna tecken värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedOr8NoFence Utför en atomisk OR-åtgärd på angivna tecken värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedOr16 Utför en atomisk ELLER-åtgärd på angivna SHORT- värden.
InterlockedOr16Acquire Utför en atomisk ELLER-åtgärd på angivna SHORT- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedOr16Release Utför en atomisk ELLER-åtgärd på angivna SHORT- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedOr16NoFence Utför en atomisk ELLER-åtgärd på angivna SHORT- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedOr64 Utför en atomisk ELLER-åtgärd på angivna LONGLONG- värden.
InterlockedOr64Acquire Utför en atomisk ELLER-åtgärd på angivna LONGLONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedOr64Release Utför en atomisk ELLER-åtgärd på angivna LONGLONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedOr64NoFence Utför en atomisk ELLER-åtgärd på angivna LONGLONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedXor Utför en atomisk XOR-åtgärd på angivna LONG- värden.
InterlockedXorAcquire Utför en atomisk XOR-åtgärd på angivna LONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedXorRelease Utför en atomisk XOR-åtgärd på angivna LONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedXorNoFence Utför en atomisk XOR-åtgärd på angivna LONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedXor8 Utför en atomisk XOR-åtgärd på angivna tecken värden.
InterlockedXor8Acquire Utför en atomisk XOR-åtgärd på angivna tecken värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedXor8Release Utför en atomisk XOR-åtgärd på angivna tecken värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedXor8NoFence Utför en atomisk XOR-åtgärd på angivna tecken värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedXor16 Utför en atomisk XOR-åtgärd på angivna SHORT- värden.
InterlockedXor16Acquire Utför en atomisk XOR-åtgärd på angivna SHORT- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedXor16Release Utför en atomisk XOR-åtgärd på angivna SHORT- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedXor16NoFence Utför en atomisk XOR-åtgärd på angivna SHORT- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer
InterlockedXor64 Utför en atomisk XOR-åtgärd på de angivna LONGLONG- värden.
InterlockedXor64Acquire Utför en atomisk XOR-åtgärd på de angivna LONGLONG- värden. Åtgärden utförs med hämta minnesordningssemantik.
InterlockedXor64Release Utför en atomisk XOR-åtgärd på de angivna LONGLONG- värden. Åtgärden utförs med versionsminnesordningssemantik.
InterlockedXor64NoFence Utför en atomisk XOR-åtgärd på de angivna LONGLONG- värden. Åtgärden utförs atomiskt, men utan minnesbarriärer

 

Mutex-funktioner

Mutex-funktion Beskrivning
CreateMutex Skapar eller öppnar ett namngivet eller namnlöst mutex-objekt.
CreateMutexEx Skapar eller öppnar ett namngivet eller namnlöst mutex-objekt och returnerar ett handtag till objektet.
OpenMutex Öppnar ett befintligt med namnet mutex-objekt.
ReleaseMutex Frigör ägarskap för det angivna mutex-objektet.

 

Privata namnområdesfunktioner

Privat namnområdesfunktion Beskrivning
AddSIDToBoundaryDescriptor Lägger till en ny säkerhetsidentifierare (SID) till den angivna gränsbeskrivningen.
AddIntegrityLabelToBoundaryDescriptor Lägger till en ny nödvändig säkerhetsidentifierare (SID) i den angivna gränsbeskrivningen.
ClosePrivateNamespace Stänger ett öppet namnområdeshandtag.
CreateBoundaryDescriptor Skapar en gränsbeskrivning.
CreatePrivateNamespace Skapar ett privat namnområde.
DeleteBoundaryDescriptor Tar bort den angivna gränsbeskrivningen.
OpenPrivateNamespace Öppnar ett privat namnområde.

 

Semaforfunktioner

Semaforfunktion Beskrivning
CreateSemaphore Skapar eller öppnar ett namngivet eller namnlöst semaforobjekt.
CreateSemaphoreEx Skapar eller öppnar ett namngivet eller namnlöst semaforobjekt och returnerar ett handtag till objektet.
OpenSemaphore Öppnar ett befintligt semaforobjekt.
ReleaseSemaphore Ökar antalet angivna semaforobjekt med en angiven mängd.

 

Singly-länkade listfunktioner

Singly-länkad listfunktion Beskrivning
InitializeSListHead Initierar huvudet för en singly länkad lista.
InterlockedFlushSList Rensar hela listan med objekt i en allsingly länkad lista.
InterlockedPopEntrySList Tar bort ett objekt från framsidan av en singly länkad lista.
InterlockedPushEntrySList Infogar ett objekt längst fram i en singly länkad lista.
InterlockedPushListSList Infogar en singly-länkad lista längst fram i en annan singly länkad lista.
InterlockedPushListSListEx Infogar en singly-länkad lista längst fram i en annan singly länkad lista. Åtkomsten till listorna synkroniseras i ett system med flera processorer. Den här versionen av metoden använder inte __fastcall-anropskonventionen
QueryDepthSList Hämtar antalet poster i den angivna singly länkade listan.
RtlFirstEntrySList Hämtar den första posten i en singly länkad lista.
RtlInitializeSListHead Initierar huvudet för en singly länkad lista. Program bör anropa InitializeSListHead i stället.
RtlInterlockedFlushSList Rensar hela listan med objekt i en allsingly länkad lista. Program bör anropa InterlockedFlushSList i stället.
RtlInterlockedPopEntrySList Tar bort ett objekt från framsidan av en singly länkad lista. Program bör anropa InterlockedPopEntrySList i stället.
RtlInterlockedPushEntrySList Infogar ett objekt längst fram i en singly länkad lista. Program bör anropa InterlockedPushEntrySList i stället.
RtlQueryDepthSList Hämtar antalet poster i den angivna singly länkade listan. Program bör anropa QueryDepthSList i stället.

 

Funktioner för synkroniseringsbarriär

Funktionen synkroniseringsbarriär Beskrivning
DeleteSynchronizationBarrier Tar bort en synkroniseringsbarriär.
EnterSynchronizationBarrier Anger en synkroniseringsbarriär och väntar på att lämpligt antal trådar ska mötas vid barriären.
InitializeSynchronizationBarrier Initierar en ny synkroniseringsbarriär.

 

Timer-queue timer functions

Timer-queue timer-funktion Beskrivning
ChangeTimerQueueTimer Uppdaterar en timerkötimer.
CreateTimerQueue Skapar en kö för timers.
CreateTimerQueueTimer Skapar en timer-queue-timer.
DeleteTimerQueue Tar bort en timerkö.
DeleteTimerQueueEx Tar bort en timerkö.
DeleteTimerQueueTimer Avbryter en timer-queue-timer.

 

Väntefunktioner

Väntefunktion Beskrivning
MsgWaitForMultipleObjects Väntar tills ett eller alla angivna objekt är i signalerat tillstånd eller tidsgränsintervallet förflutit. Objekten kan innehålla indatahändelseobjekt.
MsgWaitForMultipleObjectsEx Väntar tills ett eller alla angivna objekt är i signalerat tillstånd, en I/O-slutföranderutin eller asynkront proceduranrop (APC) placeras i kö till tråden eller tidsgränsintervallet förflutit. Matrisen med objekt kan innehålla indatahändelseobjekt.
RegisterWaitForSingleObject Instruerar en väntande tråd i trådpoolen att vänta på objektet.
SignalObjectAndWait Signalerar ett objekt och väntar på ett annat objekt som en enda åtgärd.
AvregistreraWait Avbryter en registrerad vänteåtgärd.
UnregisterWaitEx Avbryter en registrerad vänteåtgärd.
WaitForMultipleObjects Väntar tills ett eller alla angivna objekt är i signalerat tillstånd eller tidsgränsintervallet förflutit.
WaitForMultipleObjectsEx Väntar tills ett eller alla angivna objekt är i signalerat tillstånd, en I/O-slutföranderutin eller asynkront proceduranrop (APC) placeras i kö till tråden eller tidsgränsintervallet förflutit.
WaitForSingleObject Väntar tills det angivna objektet är i signalerat tillstånd eller tidsgränsintervallet förflutit.
WaitForSingleObjectEx Väntar tills det angivna objektet är i signalerat tillstånd, en I/O-slutföranderutin eller asynkront proceduranrop (APC) köas till tråden eller tidsgränsintervallet förflutit.
WaitOnAddress Väntar på att värdet på den angivna adressen ska ändras.
WaitOrTimerCallback En programdefinierad funktion som fungerar som startadress för ett timeråteranrop eller ett registrerat vänteåteranrop.
WakeByAddressAll Aktiverar alla trådar som väntar på att värdet för en adress ska ändras.
WakeByAddressSingle Aktiverar en tråd som väntar på att värdet för en adress ska ändras.

 

Funktioner för väntebar timer

Funktionen Waitable-timer Beskrivning
CancelWaitableTimer Anger den angivna väntetidstimern till det inaktiva tillståndet.
CreateWaitableTimer Skapar eller öppnar ett väntebart tidsinställt objekt.
CreateWaitableTimerEx Skapar eller öppnar ett väntebart tidsinställt tidsinställt objekt och returnerar ett handtag till objektet.
OpenWaitableTimer Öppnar ett befintligt med namnet waitable timer-objekt.
SetWaitableTimer Aktiverar den angivna väntetidstimern.
SetWaitableTimerEx Aktiverar den angivna väntetidstimern och ger kontextinformation för timern. .
TimerAPCProc Programdefinierad timer-slutföranderutin som används med funktionen SetWaitableTimer.