Synkroniseringsfunktioner
Följande funktioner används i synkroniseringen.
- Asynkrona funktioner
- Villkorsvariabel och SRW-låsfunktioner
- Viktiga avsnittsfunktioner
- Händelsefunktioner
- engångsinitieringsfunktioner
- Sammankopplade funktioner
- Mutex-funktioner
- privata namnområdesfunktioner
- semaforfunktioner
- Singly-länkade listfunktioner
- funktioner för synkroniseringsbarriärer
- timer-kötimerfunktioner
- Wait-funktioner
- funktioner för väntetidstimer
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. |