Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V synchronizaci se používají následující funkce.
- asynchronních funkcí
- proměnné podmínky a funkce zámku SRW
- kritické funkce oddílu
- funkce událostí
- jednorázové inicializační funkce
- interlocked Functions
- funkce Mutex
- funkce privátního oboru názvů
- funkce Semaphore
- singly propojenými funkcemi seznamu
- synchronizační bariérové funkce
- funkce časovače
- funkcí čekání
- funkce časovače s možností čekání
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. |