Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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. |