Sdílet prostřednictvím


Synchronizační funkce

V synchronizaci se používají následující funkce.

Asynchronní funkce

Asynchronní funkce Popis
APCProc Funkce zpětného volání definovaná aplikací, která se používá s funkcí QueueUserAPC.
GetOverlappedResult Načte výsledky překrývající se operace.
GetOverlappedResultEx Načte výsledky překrývající se operace v zadaném intervalu časového limitu.
QueueUserAPC Přidá objekt asynchronní procedury v uživatelském režimu volání (APC) do fronty APC zadaného vlákna.

 

Proměnné podmínky a funkce zámku SRW

Proměnná podmínky a funkce zámku SRW Popis
AcquireSRWLockExclusive Získá zámek slim reader/writer (SRW) ve výhradním režimu.
AcquireSRWLockShared Získá zámek čtečky/zapisovače (SRW) ve sdíleném režimu.
InitializeConditionVariable Inicializuje proměnnou podmínky.
InitializeSRWLock Inicializace zámku čtečky/zapisovače (SRW)
ReleaseSRWLockExclusive Uvolní zámek slim reader/writer (SRW), který byl získán ve výhradním režimu.
ReleaseSRWLockShared Uvolní zámek slim reader/writer (SRW), který byl získán ve sdíleném režimu.
SleepConditionVariableCS Přepne na zadanou proměnnou podmínky a uvolní zadanou kritickou část jako atomické operace.
SleepConditionVariableSRW Přepne na zadanou proměnnou podmínky a uvolní zadaný zámek jako atomické operace.
TryAcquireSRWLockExclusive Pokusí se získat zámek čtečky/zapisovače (SRW) ve výhradním režimu. Pokud je volání úspěšné, volající vlákno převezme vlastnictví zámku.
TryAcquireSRWLockShared Pokusí se získat zámek čtečky/zapisovače (SRW) ve sdíleném režimu. Pokud je volání úspěšné, volající vlákno převezme vlastnictví zámku.
WakeAllConditionVariable Probuďte všechna vlákna čekající na zadanou proměnnou podmínky.
WakeConditionVariable Probuďte jedno vlákno čekající na zadanou proměnnou podmínky.

 

Důležité funkce oddílu

Kritická funkce oddílu Popis
DeleteCriticalSection Uvolní všechny prostředky používané objektem oddílu bez vlastníka.
EnterCriticalSection Čeká na vlastnictví zadaného objektu kritického oddílu.
initializeCriticalSection Inicializuje kritický objekt oddílu.
initializeCriticalSectionAndSpinCount Inicializuje objekt kritického oddílu a nastaví počet čísel pro kritický oddíl.
InitializeCriticalSectionEx Inicializuje objekt kritického oddílu s počtem čísel a volitelnými příznaky.
LeaveCriticalSection Uvolní vlastnictví zadaného objektu kritického oddílu.
SetCriticalSectionSpinCount Nastaví počet čísel pro zadaný kritický oddíl.
TryEnterCriticalSection Pokusí se zadat kritický oddíl bez blokování.

 

Funkce událostí

Event – funkce Popis
CreateEvent Vytvoří nebo otevře pojmenovaný nebo nepojmenovaný objekt události.
CreateEventEx Vytvoří nebo otevře pojmenovaný nebo nepojmenovaný objekt události a vrátí popisovač objektu.
OpenEvent Otevře existující pojmenovaný objekt události.
PulseEvent Nastaví zadaný objekt události do signalovaného stavu a potom ho resetuje na nepodepsaný stav po uvolnění odpovídajícího počtu čekajících vláken.
ResetEvent Nastaví zadaný objekt události na nepřiřazený stav.
SetEvent Nastaví zadaný objekt události na signalovaný stav.

 

Jednorázové inicializační funkce

Jednorázová inicializační funkce Popis
initOnceBeginInitialize Začíná jednorázová inicializace.
InitOnceComplete Dokončí jednorázovou inicializaci.
InitOnceExecuteOnce Spustí zadanou funkci jednou úspěšně. Žádná další vlákna, která určují stejnou jednorázovou inicializační strukturu, může tuto funkci spustit, když je spuštěna aktuálním vláknem.
initOnceInitialize Inicializuje jednorázovou inicializační strukturu.

 

Interlocked Functions

Interlocked function Popis
InterlockedAdd Provede operaci atomového sčítání na zadaných hodnotách LONG.
InterlockedAddAcquire Provede operaci atomového sčítání na zadaných hodnotách LONG. Operace se provádí s využitím sémantiky řazení paměti.
interlockedAddRelease Provede operaci atomového sčítání na zadaných hodnotách LONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedAddNoFence Provede operaci atomového sčítání na zadaných hodnotách LONG. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedAdd64 Provede operaci atomového sčítání u zadaných hodnot LONGLONG.
InterlockedAddAcquire64 Provede operaci atomového sčítání u zadaných hodnot LONGLONG. Operace se provádí s využitím sémantiky řazení paměti.
interlockedAddRelease64 Provede operaci atomového sčítání u zadaných hodnot LONGLONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedAddNoFence64 Provede operaci atomového sčítání u zadaných hodnot LONGLONG. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedAnd Provede atomické operace AND se zadanými hodnotami LONG.
interlockedAndAcquire Provede atomické operace AND se zadanými hodnotami LONG. Operace se provádí s využitím sémantiky řazení paměti.
interlockedAndRelease Provede atomické operace AND se zadanými hodnotami LONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedAndNoFence Provede atomické operace AND se zadanými hodnotami LONG. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedAnd8 Provede atomickovou operaci AND na zadaných znakových hodnotách.
InterlockedAnd8Acquire Provede atomickovou operaci AND na zadaných znakových hodnotách. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedAnd8Release Provede atomickovou operaci AND na zadaných znakových hodnotách. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedAnd8NoFence Provede atomickovou operaci AND na zadaných znakových hodnotách. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedAnd16 Provede atomické operace AND se zadanými hodnotami SHORT.
InterlockedAnd16Acquire Provede atomické operace AND se zadanými hodnotami SHORT. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedAnd16Release Provede atomické operace AND se zadanými hodnotami SHORT. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedAnd16NoFence Provede atomické operace AND se zadanými hodnotami SHORT. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedAnd64 Provede atomické operace AND se zadanými hodnotami LONGLONG.
InterlockedAnd64Acquire Provede atomické operace AND se zadanými hodnotami LONGLONG. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedAnd64Release Provede atomické operace AND se zadanými hodnotami LONGLONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedAnd64NoFence Provede atomické operace AND se zadanými hodnotami LONGLONG. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedBitTestAndComplement Otestuje zadaný bit zadané hodnoty LONG a doplňuje ji.
InterlockedBitTestAndComplement64 Otestuje zadaný bit zadané hodnoty LONG64 a doplní ji. Operace je atomická.
InterlockedBitTestAndResetAcquire Otestuje zadaný bit zadané hodnoty LONG a nastaví ho na hodnotu 0. Operace je atomická a provádí se sémantikou řazení paměti.
interlockedBitTestAndResetRelease Otestuje zadaný bit zadané hodnoty LONG a nastaví ho na hodnotu 0. Operace je atomická a provádí se pomocí sémantiky uvolnění paměti.
interlockedBitTestAndSetAcquire Otestuje zadaný bit zadané hodnoty LONG a nastaví ho na 1. Operace je atomická a provádí se sémantikou řazení paměti.
interlockedBitTestAndSetRelease Otestuje zadaný bit zadané hodnoty LONG a nastaví ho na 1. Operace je atomická a provádí se sémantikou řazení paměti uvolnění paměti.
InterlockedBitTestAndReset Otestuje zadaný bit zadané hodnoty LONG a nastaví ho na hodnotu 0.
interlockedBitTestAndReset64 Otestuje zadaný bit zadané hodnoty LONG64 a nastaví ho na hodnotu 0.
InterlockedBitTestAndSet Otestuje zadaný bit zadané hodnoty LONG a nastaví ho na 1.
InterlockedBitTestAndSet64 Otestuje zadaný bit zadané hodnoty LONG64 a nastaví ho na 1.
InterlockedCompare64Exchange128 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává zadané 64bitové hodnoty a vyměňuje se zadanou 128bitovou hodnotou na základě výsledku porovnání.
InterlockedCompare64ExchangeAcquire128 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává zadané 64bitové hodnoty a vyměňuje se zadanou 128bitovou hodnotou na základě výsledku porovnání. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedCompare64ExchangeRelease128 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává zadané 64bitové hodnoty a vyměňuje se zadanou 128bitovou hodnotou na základě výsledku porovnání. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedCompareExchange Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 32bitové hodnoty a vymění s jinou 32bitovou hodnotou na základě výsledku porovnání.
InterlockedCompareExchangeAcquire Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 32bitové hodnoty a vymění s jinou 32bitovou hodnotou na základě výsledku porovnání. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedCompareExchangeRelease Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 32bitové hodnoty a vymění s jinou 32bitovou hodnotou na základě výsledku porovnání. Výměna se provádí sémantikou řazení paměti vydané verze.
InterlockedCompareExchangeNoFence Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 32bitové hodnoty a vymění s jinou 32bitovou hodnotou na základě výsledku porovnání. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedCompareExchange64 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 64bitové hodnoty a vymění s jinou 64bitovou hodnotou na základě výsledku porovnání.
InterlockedCompareExchangeAcquire64 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 64bitové hodnoty a vymění s jinou 64bitovou hodnotou na základě výsledku porovnání. Výměna se provádí s využitím sémantiky řazení paměti.
InterlockedCompareExchangeRelease64 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 64bitové hodnoty a vymění s jinou 64bitovou hodnotou na základě výsledku porovnání. Výměna se provádí sémantikou řazení paměti vydané verze.
InterlockedCompareExchangeNoFence64 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 64bitové hodnoty a vymění s jinou 64bitovou hodnotou na základě výsledku porovnání. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedCompareExchange16 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 16bitové hodnoty a výměny s jinou 16bitovou hodnotou na základě výsledku porovnání.
InterlockedCompareExchange16Acquire Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 16bitové hodnoty a vymění s jinou 16bitovou hodnotou na základě výsledku porovnání. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedCompareExchange16Release Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 16bitové hodnoty a vymění s jinou 16bitovou hodnotou na základě výsledku porovnání. Výměna se provádí sémantikou řazení paměti vydané verze.
InterlockedCompareExchange16NoFence Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 16bitové hodnoty a vymění s jinou 16bitovou hodnotou na základě výsledku porovnání. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedCompareExchange128 Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané 128bitové hodnoty a výměny s jinou 128bitovou hodnotou na základě výsledku porovnání.
InterlockedCompareExchangePointer Provede atomovou operaci porovnání a výměny zadaných hodnot ukazatele. Funkce porovnává dvě zadané hodnoty ukazatele a vymění se jinou hodnotou ukazatele na základě výsledku porovnání.
InterlockedCompareExchangePointerAcquire Provede atomovou operaci porovnání a výměny zadaných hodnot ukazatele. Funkce porovnává dvě zadané hodnoty ukazatele a vymění se jinou hodnotou ukazatele na základě výsledku porovnání. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedCompareExchangePointerRelease Provede atomovou operaci porovnání a výměny zadaných hodnot ukazatele. Funkce porovnává dvě zadané hodnoty ukazatele a vymění se jinou hodnotou ukazatele na základě výsledku porovnání. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedCompareExchangePointerNoFence Provede atomovou operaci porovnání a výměny zadaných hodnot. Funkce porovnává dvě zadané hodnoty ukazatele a vymění se jinou hodnotou ukazatele na základě výsledku porovnání. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedDecrement Sníží hodnotu zadané 32bitové proměnné jako atomické operace (zmenší o jeden).
InterlockedDecrementAcquire Sníží hodnotu zadané 32bitové proměnné jako atomické operace (zmenší o jeden). Operace se provádí s využitím sémantiky řazení paměti.
InterlockedDecrementRelease Sníží hodnotu zadané 32bitové proměnné jako atomické operace (zmenší o jeden). Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedDecrementNoFence Sníží hodnotu zadané 32bitové proměnné jako atomické operace (zmenší o jeden). Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedDecrement16 Dekrementuje (sníží o jednu) hodnotu zadané 16bitové proměnné jako atomické operace.
InterlockedDecrement16Acquire Sníží hodnotu zadané 16bitové proměnné jako atomické operace (zmenší o jednu). Operace se provádí s využitím sémantiky řazení paměti.
InterlockedDecrement16Release Sníží hodnotu zadané 16bitové proměnné jako atomické operace (zmenší o jednu). Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedDecrement16NoFence Sníží hodnotu zadané 16bitové proměnné jako atomické operace (zmenší o jednu). Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedDecrement64 Sníží hodnotu zadané 64bitové proměnné jako atomické operace (zmenší o jeden).
InterlockedDecrementAcquire64 Sníží hodnotu zadané 64bitové proměnné jako atomické operace (zmenší o jeden). Operace se provádí s využitím sémantiky řazení paměti.
InterlockedDecrementRelease64 Sníží hodnotu zadané 64bitové proměnné jako atomické operace (zmenší o jeden). Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedDecrementNoFence64 Sníží hodnotu zadané 64bitové proměnné jako atomické operace (zmenší o jeden). Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedExchange Nastaví 32bitovou proměnnou na zadanou hodnotu jako atomické operace.
InterlockedExchangeAcquire Nastaví 32bitovou proměnnou na zadanou hodnotu jako atomické operace. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedExchangeNoFence Nastaví 64bitovou proměnnou na zadanou hodnotu jako atomické operace. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedExchange8 Nastaví 8bitovou proměnnou na zadanou hodnotu jako atomické operace.
InterlockedExchange16 Nastaví 16bitovou proměnnou na zadanou hodnotu jako atomické operace.
InterlockedExchange16Acquire Nastaví 16bitovou proměnnou na zadanou hodnotu jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti získání paměti.
InterlockedExchange16NoFence Nastaví 16bitovou proměnnou na zadanou hodnotu jako atomické operace. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedExchange64 Nastaví 64bitovou proměnnou na zadanou hodnotu jako atomické operace.
InterlockedExchangeAcquire64 Nastaví 32bitovou proměnnou na zadanou hodnotu jako atomické operace. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedExchangeNoFence64 Nastaví 64bitovou proměnnou na zadanou hodnotu jako atomické operace. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedExchangePointer Atomicky vyměňuje dvojici hodnot ukazatele.
InterlockedExchangePointerAcquire Atomicky vyměňuje dvojici hodnot ukazatele. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedExchangePointerNoFence Atomicky vyměňuje dvojici adres. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedExchangeSubtract Provede atomický odčítání dvou hodnot.
InterlockedExchangeAdd Provede atomické sčítání dvou 32bitových hodnot.
InterlockedExchangeAddAcquire Provede atomické sčítání dvou 32bitových hodnot. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedExchangeAddRelease Provede atomické sčítání dvou 32bitových hodnot. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedExchangeAddNoFence Provede atomické sčítání dvou 32bitových hodnot. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedExchangeAdd64 Provede atomické sčítání dvou 64bitových hodnot.
InterlockedExchangeAddAcquire64 Provede atomické sčítání dvou 64bitových hodnot. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedExchangeAddRelease64 Provede atomické sčítání dvou 64bitových hodnot. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedExchangeAddNoFence64 Provede atomické sčítání dvou 64bitových hodnot. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedIncrement Zvýší (zvýší o jednu) hodnotu zadané 32bitové proměnné jako atomické operace.
InterlockedIncrementAcquire Zvýší (zvýší o jednu) hodnotu zadané 32bitové proměnné jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti.
InterlockedIncrementRelease Zvýší (zvýší o jednu) hodnotu zadané 32bitové proměnné jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti vydané verze.
InterlockedIncrementNoFence Zvýší (zvýší o jednu) hodnotu zadané 32bitové proměnné jako atomické operace. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedIncrement16 Zvýší (zvýší o jednu) hodnotu zadané 16bitové proměnné jako atomické operace.
InterlockedIncrement16Acquire Zvýší (zvýší o jednu) hodnotu zadané 16bitové proměnné jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti získání paměti.
InterlockedIncrement16Release Zvýší (zvýší o jednu) hodnotu zadané 16bitové proměnné jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti vydané verze.
InterlockedIncrement16NoFence Zvýší (zvýší o jednu) hodnotu zadané 16bitové proměnné jako atomické operace. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedIncrement64 Zvýší (zvýší o jednu) hodnotu zadané 64bitové proměnné jako atomické operace.
InterlockedIncrementAcquire64 Zvýší (zvýší o jednu) hodnotu zadané 64bitové proměnné jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti.
InterlockedIncrementRelease64 Zvýší (zvýší o jednu) hodnotu zadané 64bitové proměnné jako atomické operace. Operace se provádí pomocí sémantiky řazení paměti vydané verze.
InterlockedIncrementNoFence64 Zvýší (zvýší o jednu) hodnotu zadané 64bitové proměnné jako atomické operace. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedOr Provede atomické operace OR se zadanými hodnotami LONG.
InterlockedOrAcquire Provede atomické operace OR se zadanými hodnotami LONG. Operace se provádí s využitím sémantiky řazení paměti.
interlockedOrRelease Provede atomické operace OR se zadanými hodnotami LONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedOrNoFence Provede atomické operace OR se zadanými hodnotami LONG. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedOr8 Provede nedělitou operaci OR na zadaných hodnotách znaku.
InterlockedOr8Acquire Provede nedělitou operaci OR na zadaných hodnotách znaku. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedOr8Release Provede nedělitou operaci OR na zadaných hodnotách znaku. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedOr8NoFence Provede nedělitou operaci OR na zadaných hodnotách znaku. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedOr16 Provede atomické operace OR se zadanými hodnotami SHORT.
InterlockedOr16Acquire Provede atomické operace OR se zadanými hodnotami SHORT. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedOr16Release Provede atomické operace OR se zadanými hodnotami SHORT. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedOr16NoFence Provede atomické operace OR se zadanými hodnotami SHORT. Operace se provádí atomicky, ale bez použití paměťových bariér
interlockedOr64 Provede atomické operace OR se zadanými hodnotami LONGLONG.
InterlockedOr64Acquire Provede atomické operace OR se zadanými hodnotami LONGLONG. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedOr64Release Provede atomické operace OR se zadanými hodnotami LONGLONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedOr64NoFence Provede atomické operace OR se zadanými hodnotami LONGLONG. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedXor Provede atomický XOR operace se zadanými hodnotami LONG.
InterlockedXorAcquire Provede atomický XOR operace se zadanými hodnotami LONG. Operace se provádí s využitím sémantiky řazení paměti.
interlockedXorRelease Provede atomický XOR operace se zadanými hodnotami LONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedXorNoFence Provede atomický XOR operace se zadanými hodnotami LONG. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedXor8 Provede atomické operace XOR na zadaných char hodnoty.
InterlockedXor8Acquire Provede atomické operace XOR na zadaných char hodnoty. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedXor8Release Provede atomické operace XOR na zadaných char hodnoty. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedXor8NoFence Provede atomické operace XOR na zadaných char hodnoty. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedXor16 Provede atomický XOR operace se zadanými hodnotami SHORT.
InterlockedXor16Acquire Provede atomický XOR operace se zadanými hodnotami SHORT. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedXor16Release Provede atomický XOR operace se zadanými hodnotami SHORT. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedXor16NoFence Provede atomický XOR operace se zadanými hodnotami SHORT. Operace se provádí atomicky, ale bez použití paměťových bariér
InterlockedXor64 Provede atomic XOR operace se zadanými hodnotami LONGLONG.
InterlockedXor64Acquire Provede atomic XOR operace se zadanými hodnotami LONGLONG. Operace se provádí s využitím sémantiky řazení paměti.
InterlockedXor64Release Provede atomic XOR operace se zadanými hodnotami LONGLONG. Operace se provádí sémantikou řazení paměti vydané verze.
InterlockedXor64NoFence Provede atomic XOR operace se zadanými hodnotami LONGLONG. Operace se provádí atomicky, ale bez použití paměťových bariér

 

Funkce Mutex

Mutex Popis
CreateMutex Vytvoří nebo otevře pojmenovaný nebo nepojmenovaný objekt mutex.
CreateMutexEx Vytvoří nebo otevře pojmenovaný nebo nepojmenovaný objekt mutex a vrátí popisovač objektu.
OpenMutex Otevře existující pojmenovaný objekt mutex.
releaseMutex Uvolní vlastnictví zadaného objektu mutex.

 

Funkce privátního oboru názvů

Funkce privátního oboru názvů Popis
AddSIDToBoundaryDescriptor Přidá nový identifikátor zabezpečení (SID) do zadaného popisovače hranic.
AddIntegrityLabelToBoundaryDescriptor Přidá nový požadovaný identifikátor zabezpečení (SID) do zadaného popisovače hranic.
ClosePrivateNamespace Zavře otevřený popisovač oboru názvů.
CreateBoundaryDescriptor Vytvoří popisovač hranic.
CreatePrivateNamespace Vytvoří privátní obor názvů.
DeleteBoundaryDescriptor Odstraní zadaný popisovač hranic.
OpenPrivateNamespace Otevře privátní obor názvů.

 

Funkce semaforu

Semaphore Popis
CreateSemaphore Vytvoří nebo otevře pojmenovaný nebo nepojmenovaný objekt semaphore.
CreateSemaphoreEx Vytvoří nebo otevře pojmenovaný nebo nepojmenovaný objekt semaphore a vrátí popisovač objektu.
OpenSemaphore Otevře existující pojmenovaný objekt semaphore.
releaseSemaphore Zvýší počet zadaného objektu semaphore o zadanou částku.

 

Funkce seznamu s ingly propojenými funkcemi

Singly propojená funkce seznamu Popis
InitializeSListHead Inicializuje hlavu singly propojeného seznamu.
InterlockedFlushSList Vyprázdní celý seznam položek v ingly propojeném seznamu.
InterlockedPopEntrySList Odebere položku z přední části ingly propojeného seznamu.
InterlockedPushEntrySList Vloží položku před ingly propojený seznam.
InterlockedPushListSList Vloží ingly propojený seznam na přední straně jiného ingly propojeného seznamu.
InterlockedPushListSListEx Vloží ingly propojený seznam na přední straně jiného ingly propojeného seznamu. Přístup k seznamům se synchronizuje v multiprocesorovém systému. Tato verze metody nepoužívá konvenci volání __fastcall.
queryDepthSList Načte počet položek v zadaném ingly propojeném seznamu.
RtlFirstEntrySList Načte první položku v ingly propojeném seznamu.
RtlInitializeSListHead Inicializuje hlavu singly propojeného seznamu. Aplikace by měly místo toho volat InitializeSListHead.
RtlInterlockedFlushSList Vyprázdní celý seznam položek v ingly propojeném seznamu. Aplikace by měly místo toho volat InterlockedFlushSList.
RtlInterlockedPopEntrySList Odebere položku z přední části ingly propojeného seznamu. Aplikace by měly místo toho volat InterlockedPopEntrySList.
RtlInterlockedPushEntrySList Vloží položku před ingly propojený seznam. Aplikace by měly místo toho volat InterlockedPushEntrySList.
rtlQueryDepthSList Načte počet položek v zadaném ingly propojeném seznamu. Aplikace by místo toho měly volat QueryDepthSList.

 

Synchronizační bariérové funkce

Synchronizační bariérová funkce Popis
DeleteSynchronizationBarrier Odstraní synchronizační bariéru.
EnterSynchronizationBarrier Přejde do synchronizační bariéry a počká na odpovídající počet vláken, které se na bariérě znovu prosadí.
initializeSynchronizationBarrier Inicializuje novou synchronizační bariéru.

 

Funkce časovače časovače ve frontě časovače

Funkce časovače časovače fronty časovače Popis
ChangeTimerQueueTimer Aktualizuje časovač fronty.
CreateTimerQueue Vytvoří frontu pro časovače.
CreateTimerQueueTimer Vytvoří časovač fronty časovače.
DeleteTimerQueue Odstraní frontu časovače.
DeleteTimerQueueEx Odstraní frontu časovače.
DeleteTimerQueueTimer Zruší časovač fronty časovače.

 

Funkce čekání

Wait – funkce Popis
msgWaitForMultipleObjects Čeká, dokud jeden nebo všechny zadané objekty nejsou v signalovaném stavu nebo uplynul časový limit intervalu. Objekty mohou zahrnovat vstupní objekty událostí.
MsgWaitForMultipleObjectsEx Čeká, dokud jeden nebo všechny zadané objekty nejsou v signalovaném stavu, rutina dokončení vstupně-výstupní operace nebo asynchronní volání procedury (APC) se zařadí do fronty do vlákna nebo uplynul časový limit intervalu. Pole objektů může zahrnovat vstupní objekty událostí.
RegisterWaitForSingleObject Nasměruje vlákno čekání ve fondu vláken, aby čekalo na objekt.
SignalObjectAndWait Signalizuje jeden objekt a čeká na jiný objekt jako jednu operaci.
UnregisterWait Zruší zaregistrovanou operaci čekání.
UnregisterWaitEx Zruší zaregistrovanou operaci čekání.
WaitForMultipleObjects Čeká, dokud jeden nebo všechny zadané objekty nejsou v signalovaném stavu nebo uplynul časový limit intervalu.
WaitForMultipleObjectsEx Čeká, dokud jeden nebo všechny zadané objekty nejsou v signalovaném stavu, rutina dokončení vstupně-výstupní operace nebo asynchronní volání procedury (APC) se zařadí do fronty do vlákna nebo uplynul časový limit intervalu.
WaitForSingleObject Čeká, dokud zadaný objekt není v signalovaném stavu nebo uplynul časový limit.
WaitForSingleObjectEx Počká, dokud zadaný objekt není v signalovaném stavu, do fronty se zařadí rutina vstupně-výstupního dokončení nebo asynchronní volání procedury (APC) do vlákna nebo časový limit uplynul.
WaitOnAddress Čeká na změnu hodnoty na zadané adrese.
WaitOrTimerCallback Funkce definovaná aplikací, která slouží jako počáteční adresa pro zpětné volání časovače nebo registrované zpětné volání čekání.
WakeByAddressAll Probouzí všechna vlákna čekající na změnu hodnoty adresy.
WakeByAddressSingle Probudí vlákno čekající na změnu hodnoty adresy.

 

Funkce čekaného časovače

Funkce čekaného časovače Popis
CancelWaitableTimer Nastaví zadaný čekaný časovač na neaktivní stav.
createWaitableTimer Vytvoří nebo otevře objekt čekaného časovače.
CreateWaitableTimerEx Vytvoří nebo otevře objekt čekaného časovače a vrátí popisovač objektu.
openWaitableTimer Otevře existující pojmenovaný objekt časovače s možností čekání.
SetWaitableTimer Aktivuje zadaný čekaný časovač.
SetWaitableTimerEx Aktivuje zadaný časovač s možností čekání a poskytne informace o kontextu časovače. .
timerAPCProc Rutina dokončování časovače definovaná aplikací použitá s funkcí SetWaitableTimer.