Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Następujące funkcje są używane podczas synchronizacji.
- funkcje asynchroniczne
- zmiennej warunku i funkcji blokady SRW
- funkcje sekcji Krytyczne
- funkcji zdarzeń
- jednorazowe funkcje inicjowania
- funkcji połączonych
- funkcje Mutex
- funkcje prywatnej przestrzeni nazw
- funkcje Semaphore
- funkcje listy połączonej singly
- funkcje barier synchronizacji
- funkcje czasomierza kolejki czasomierza
- funkcje Wait
- funkcje czasomierza waitable-timer
Funkcje asynchroniczne
| Funkcja asynchroniczna | Opis |
|---|---|
| APCProc | Funkcja wywołania zwrotnego zdefiniowana przez aplikację używana z funkcjąQueueUserAPC. |
| GetOverlappedResult | Pobiera wyniki nakładanej operacji. |
| GetOverlappedResultEx | Pobiera wyniki nakładanej operacji w określonym przedziale czasu. |
| QueueUserAPC | Dodaje obiekt asynchronicznej procedury trybu użytkownika (APC) do kolejki APC określonego wątku. |
Zmienne warunku i funkcje blokady SRW
| Zmienna warunku i funkcja blokady SRW | Opis |
|---|---|
| acquireSRWLockExclusive | Uzyskuje szczupłą blokadę czytnika/zapisywania (SRW) w trybie wyłącznym. |
| AcquireSRWLockShared | Uzyskuje szczupłą blokadę czytnika/zapisywania (SRW) w trybie udostępnionym. |
| initializeConditionVariable | Inicjuje zmienną warunku. |
| InitializeSRWLock | Zainicjuj szczupłą blokadę czytnika/zapisywania (SRW). |
| ReleaseSRWLockExclusive | Zwalnia szczupłą blokadę czytnika/zapisywania (SRW), która została nabyta w trybie wyłącznym. |
| ReleaseSRWLockShared | Zwalnia szczupłą blokadę czytnika/modułu zapisywania (SRW), która została uzyskana w trybie udostępnionym. |
| SleepConditionVariableCS | Uśpienie w określonej zmiennej warunku i zwalnia określoną sekcję krytyczną jako operację niepodzielna. |
| SleepConditionVariableSRW | Uśpienie dla określonej zmiennej warunku i zwalnia określoną blokadę jako operację niepodzielna. |
| TryAcquireSRWLockExclusive | Próbuje uzyskać szczupłą blokadę czytnika/pisarza (SRW) w trybie wyłącznym. Jeśli wywołanie zakończy się pomyślnie, wątek wywołujący przejmuje własność blokady. |
| TryAcquireSRWLockShared | Próbuje uzyskać szczupłą blokadę czytnika/zapisywania (SRW) w trybie udostępnionym. Jeśli wywołanie zakończy się pomyślnie, wątek wywołujący przejmuje własność blokady. |
| WakeAllConditionVariable | Wznawianie wszystkich wątków oczekujących na określoną zmienną warunku. |
| WakeConditionVariable | Wznawianie oczekiwania na jeden wątek dla określonej zmiennej warunku. |
Funkcje sekcji krytycznej
| Funkcja sekcji krytycznej | Opis |
|---|---|
| DeleteCriticalSection | Zwalnia wszystkie zasoby używane przez nieowny obiekt sekcji krytycznej. |
| EnterCriticalSection | Czeka na własność określonego obiektu sekcji krytycznej. |
| InitializeCriticalSection | Inicjuje obiekt sekcji krytycznej. |
| InitializeCriticalSectionAndSpinCount | Inicjuje obiekt sekcji krytycznej i ustawia liczbę spinów dla sekcji krytycznej. |
| InitializeCriticalSectionEx | Inicjuje obiekt sekcji krytycznej z liczbą spin i opcjonalnymi flagami. |
| LeaveCriticalSection | Zwalnia własność określonego obiektu sekcji krytycznej. |
| SetCriticalSectionSpinCount | Ustawia liczbę spinów dla określonej sekcji krytycznej. |
| TryEnterCriticalSection | Próbuje wprowadzić sekcję krytyczną bez blokowania. |
Funkcje zdarzeń
| Funkcja zdarzenia | Opis |
|---|---|
| CreateEvent | Tworzy lub otwiera nazwany lub nienazwany obiekt zdarzenia. |
| CreateEventEx | Tworzy lub otwiera nazwany lub nienazwany obiekt zdarzenia i zwraca uchwyt do obiektu. |
| OpenEvent | Otwiera istniejący nazwany obiekt zdarzenia. |
| PulseEvent | Ustawia określony obiekt zdarzenia na stan zasygnalizowany, a następnie resetuje go do stanu niepodpisanego po zwolnieniu odpowiedniej liczby wątków oczekujących. |
| ResetEvent | Ustawia określony obiekt zdarzenia na stan niepodpisany. |
| SetEvent | Ustawia określony obiekt zdarzenia na stan zasygnalizowany. |
Funkcje inicjowania jednorazowego
| Jednorazowa funkcja inicjowania | Opis |
|---|---|
| InitOnceBeginInitialize | Rozpoczyna jednorazową inicjację. |
| InitOnceComplete | Kończy jednorazową inicjację. |
| InitOnceExecuteOnceOnce | Wykonuje określoną funkcję jeden raz. Żadne inne wątki, które określają tę samą strukturę inicjowania jednorazowego, mogą wykonać tę funkcję, gdy jest wykonywana przez bieżący wątek. |
| InitOnceInitialize | Inicjuje jednorazową strukturę inicjowania. |
Funkcje połączone
| Interlocked, funkcja | Opis |
|---|---|
| InterlockedAdd | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONG. |
| InterlockedAddAcquire | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedAddRelease | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedAddNoFence | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedAdd64 | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONGLONG. |
| InterlockedAddAcquire64 | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedAddRelease64 | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedAddNoFence64 | Wykonuje niepodzielne operacje dodawania dla określonych wartości LONGLONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedAnd | Wykonuje niepodzielne operacje AND na określonych wartościach LONG. |
| InterlockedAndAcquire | Wykonuje niepodzielne operacje AND na określonych wartościach LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedAndRelease | Wykonuje niepodzielne operacje AND na określonych wartościach LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedAndNoFence | Wykonuje niepodzielne operacje AND na określonych wartościach LONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedAnd8 | Wykonuje niepodzielne operacje AND na określonych wartościach char. |
| InterlockedAnd8Acquire | Wykonuje niepodzielne operacje AND na określonych wartościach char. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedAnd8Release | Wykonuje niepodzielne operacje AND na określonych wartościach char. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedAnd8NoFence | Wykonuje niepodzielne operacje AND na określonych wartościach char. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedAnd16 | Wykonuje niepodzielne operacje AND na określonych wartościach SHORT. |
| InterlockedAnd16Acquire | Wykonuje niepodzielne operacje AND na określonych wartościach SHORT. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedAnd16Release | Wykonuje niepodzielne operacje AND na określonych wartościach SHORT. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedAnd16NoFence | Wykonuje niepodzielne operacje AND na określonych wartościach SHORT. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedAnd64 | Wykonuje niepodzielne operacje AND na określonych wartości LONGLONG. |
| InterlockedAnd64Acquire | Wykonuje niepodzielne operacje AND na określonych wartości LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedAnd64Release | Wykonuje niepodzielne operacje AND na określonych wartości LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedAnd64NoFence | Wykonuje niepodzielne operacje AND na określonych wartości LONGLONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedBitTestAndComplement | Sprawdza określony bit określonej wartości LONG i uzupełnia go. |
| InterlockedBitTestAndComplement64 | Sprawdza określony bit określonej wartości LONG64 i uzupełnia go. Operacja jest niepodzielna |
| InterlockedBitTestAndResetAcquire | Testuje określony bit określonej wartości LONG i ustawia go na 0. Operacja jest niepodzielna i jest wykonywana przy użyciu semantyki porządkowania pamięci |
| InterlockedBitTestAndResetRelease | Testuje określony bit określonej wartości LONG i ustawia go na 0. Operacja jest niepodzielna i jest wykonywana przy użyciu semantyki wydań pamięci |
| InterlockedBitTestAndSetAcquire | Sprawdza określony bit określonej wartości LONG i ustawia go na 1. Operacja jest niepodzielna i jest wykonywana przy użyciu semantyki porządkowania pamięci |
| InterlockedBitTestAndSetRelease | Sprawdza określony bit określonej wartości LONG i ustawia go na 1. Operacja jest niepodzielna i jest wykonywana przy użyciu semantyki porządkowania pamięci wydania |
| InterlockedBitTestAndReset | Testuje określony bit określonej wartości LONG i ustawia go na 0. |
| InterlockedBitTestAndReset64 | Testuje określony bit określonej wartości LONG64 i ustawia go na 0. |
| InterlockedBitTestAndSet | Sprawdza określony bit określonej wartości LONG i ustawia go na 1. |
| InterlockedBitTestAndSet64 | Sprawdza określony bit określonej wartości LONG64 i ustawia go na 1. |
| InterlockedCompare64Exchange128 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje określone wartości 64-bitowe i wymienia się z określoną wartością 128-bitową na podstawie wyniku porównania. |
| InterlockedCompare64ExchangeAcquire128 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje określone wartości 64-bitowe i wymienia się z określoną wartością 128-bitową na podstawie wyniku porównania. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedCompare64ExchangeRelease128 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje określone wartości 64-bitowe i wymienia się z określoną wartością 128-bitową na podstawie wyniku porównania. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedCompareExchange | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 32-bitowe i wymienia się z inną wartością 32-bitową na podstawie wyniku porównania. |
| InterlockedCompareExchangeAcquire | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 32-bitowe i wymienia się z inną wartością 32-bitową na podstawie wyniku porównania. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedCompareExchangeRelease | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 32-bitowe i wymienia się z inną wartością 32-bitową na podstawie wyniku porównania. Wymiana jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedCompareExchangeNoFence | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 32-bitowe i wymienia się z inną wartością 32-bitową na podstawie wyniku porównania. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedCompareExchange64 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 64-bitowe i wymienia się z inną wartością 64-bitową na podstawie wyniku porównania. |
| InterlockedCompareExchangeAcquire64 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 64-bitowe i wymienia się z inną wartością 64-bitową na podstawie wyniku porównania. Wymiana jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedCompareExchangeRelease64 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 64-bitowe i wymienia się z inną wartością 64-bitową na podstawie wyniku porównania. Wymiana jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedCompareExchangeNoFence64 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 64-bitowe i wymienia się z inną wartością 64-bitową na podstawie wyniku porównania. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedCompareExchange16 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 16-bitowe i wymienia się z inną wartością 16-bitową na podstawie wyniku porównania |
| InterlockedCompareExchange16Acquire | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 16-bitowe i wymienia się z inną wartością 16-bitową na podstawie wyniku porównania. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci |
| InterlockedCompareExchange16Release | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 16-bitowe i wymienia się z inną wartością 16-bitową na podstawie wyniku porównania. Wymiana jest wykonywana przy użyciu semantyki porządkowania pamięci wydania |
| InterlockedCompareExchange16NoFence | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 16-bitowe i wymienia się z inną wartością 16-bitową na podstawie wyniku porównania. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedCompareExchange128 | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości 128-bitowe i wymienia się z inną wartością 128-bitową na podstawie wyniku porównania |
| InterlockedCompareExchangePointer | Wykonuje niepodzielne operacje porównywania i wymiany dla określonych wartości wskaźnika. Funkcja porównuje dwie określone wartości wskaźnika i wymienia się z inną wartością wskaźnika na podstawie wyniku porównania. |
| InterlockedCompareExchangePointerAcquire | Wykonuje niepodzielne operacje porównywania i wymiany dla określonych wartości wskaźnika. Funkcja porównuje dwie określone wartości wskaźnika i wymienia się z inną wartością wskaźnika na podstawie wyniku porównania. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedCompareExchangePointerRelease | Wykonuje niepodzielne operacje porównywania i wymiany dla określonych wartości wskaźnika. Funkcja porównuje dwie określone wartości wskaźnika i wymienia się z inną wartością wskaźnika na podstawie wyniku porównania. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedCompareExchangePointerNoFence | Wykonuje niepodzielne operacje porównywania i wymiany na określonych wartościach. Funkcja porównuje dwie określone wartości wskaźnika i wymienia się z inną wartością wskaźnika na podstawie wyniku porównania. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedDecrement | Zmniejsza (zmniejsza się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. |
| InterlockedDecrementAcquirere | Zmniejsza (zmniejsza się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedDecrementRelease | Zmniejsza (zmniejsza się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedDecrementNoFence | Zmniejsza (zmniejsza się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedDecrement16 | Dekrementacje (zmniejsza się o jedną) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna |
| InterlockedDecrement16Acquirere | Dekrementuje (zmniejsza się o jeden) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci |
| InterlockedDecrement16Release | Dekrementuje (zmniejsza się o jeden) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania |
| InterlockedDecrement16NoFence | Dekrementuje (zmniejsza się o jeden) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedDecrement64 | Dekrementuje (zmniejsza się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. |
| InterlockedDecrementAcquire64 | Dekrementuje (zmniejsza się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedDecrementRelease64 | Dekrementuje (zmniejsza się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedDecrementNoFence64 | Dekrementuje (zmniejsza się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedExchange | Ustawia zmienną 32-bitową na określoną wartość jako operację niepodzieną. |
| InterlockedExchangeAcquire | Ustawia zmienną 32-bitową na określoną wartość jako operację niepodzieną. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedExchangeNoFence | Ustawia zmienną 64-bitową na określoną wartość jako operację niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedExchange8 | Ustawia zmienną 8-bitową na określoną wartość jako operację niepodzieną |
| InterlockedExchange16 | Ustawia zmienną 16-bitową na określoną wartość jako operację niepodzieną. |
| InterlockedExchange16Acquire | Ustawia zmienną 16-bitową na określoną wartość jako operację niepodzieną. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci |
| InterlockedExchange16NoFence | Ustawia zmienną 16-bitową na określoną wartość jako operację niepodzieną. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedExchange64 | Ustawia zmienną 64-bitową na określoną wartość jako operację niepodzielna. |
| InterlockedExchangeAcquire64 | Ustawia zmienną 32-bitową na określoną wartość jako operację niepodzieną. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedExchangeNoFence64 | Ustawia zmienną 64-bitową na określoną wartość jako operację niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedExchangePointer | Niepodzielna wymiana pary wartości wskaźnika. |
| InterlockedExchangePointerAcquire | Niepodzielna wymiana pary wartości wskaźnika. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedExchangePointerNoFence | Niepodzielna wymiana pary adresów. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedExchangeSubtract | Wykonuje niepodzielne odejmowanie dwóch wartości. |
| InterlockedExchangeAdd | Wykonuje niepodzielne dodanie dwóch wartości 32-bitowych. |
| InterlockedExchangeAddAcquire | Wykonuje niepodzielne dodanie dwóch wartości 32-bitowych. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedExchangeAddRelease | Wykonuje niepodzielne dodanie dwóch wartości 32-bitowych. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedExchangeAddNoFence | Wykonuje niepodzielne dodanie dwóch wartości 32-bitowych. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedExchangeAdd64 | Wykonuje niepodzielne dodanie dwóch wartości 64-bitowych. |
| InterlockedExchangeAddAcquire64 | Wykonuje niepodzielne dodanie dwóch wartości 64-bitowych. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedExchangeAddRelease64 | Wykonuje niepodzielne dodanie dwóch wartości 64-bitowych. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedExchangeAddNoFence64 | Wykonuje niepodzielne dodanie dwóch wartości 64-bitowych. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedIncrement | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. |
| InterlockedIncrementAcquire | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedIncrementRelease | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedIncrementNoFence | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 32-bitowej jako operacja niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedIncrement16 | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna |
| InterlockedIncrement16Acquire | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci |
| InterlockedIncrement16Release | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania |
| InterlockedIncrement16NoFence | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 16-bitowej jako operacja niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedIncrement64 | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. |
| InterlockedIncrementAcquire64 | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedIncrementRelease64 | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedIncrementNoFence64 | Przyrosty (zwiększa się o jedną) wartość określonej zmiennej 64-bitowej jako operacja niepodzielna. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedOr | Wykonuje niepodzielne operacje OR na określonych wartościach LONG. |
| InterlockedOrAcquire | Wykonuje niepodzielne operacje OR na określonych wartościach LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedOrRelease | Wykonuje niepodzielne operacje OR na określonych wartościach LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedOrNoFence | Wykonuje niepodzielne operacje OR na określonych wartościach LONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedOr8 | Wykonuje niepodzielne operacje OR na określonych wartościach char. |
| InterlockedOr8Acquire | Wykonuje niepodzielne operacje OR na określonych wartościach char. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedOr8Release | Wykonuje niepodzielne operacje OR na określonych wartościach char. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedOr8NoFence | Wykonuje niepodzielne operacje OR na określonych wartościach char. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedOr16 | Wykonuje niepodzielne operacje OR na określonych wartościach SHORT. |
| InterlockedOr16Acquire | Wykonuje niepodzielne operacje OR na określonych wartościach SHORT. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedOr16Release | Wykonuje niepodzielne operacje OR na określonych wartościach SHORT. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedOr16NoFence | Wykonuje niepodzielne operacje OR na określonych wartościach SHORT. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedOr64 | Wykonuje niepodzielne operacje OR na określonych wartościach LONGLONG. |
| InterlockedOr64Acquire | Wykonuje niepodzielne operacje OR na określonych wartościach LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedOr64Release | Wykonuje niepodzielne operacje OR na określonych wartościach LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedOr64NoFence | Wykonuje niepodzielne operacje OR na określonych wartościach LONGLONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedXor | Wykonuje niepodzielne operacje XOR na określonych wartościach LONG. |
| InterlockedXorAcquire | Wykonuje niepodzielne operacje XOR na określonych wartościach LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedXorRelease | Wykonuje niepodzielne operacje XOR na określonych wartościach LONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedXorNoFence | Wykonuje niepodzielne operacje XOR na określonych wartościach LONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedXor8 | Wykonuje niepodzielne operacje XOR na określonych wartościach char. |
| InterlockedXor8Acquire | Wykonuje niepodzielne operacje XOR na określonych wartościach char. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedXor8Release | Wykonuje niepodzielne operacje XOR na określonych wartościach char. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedXor8NoFence | Wykonuje niepodzielne operacje XOR na określonych wartościach char. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedXor16 | Wykonuje niepodzielne operacje XOR na określonych wartościach SHORT. |
| InterlockedXor16Acquire | Wykonuje niepodzielne operacje XOR na określonych wartościach SHORT. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedXor16Release | Wykonuje niepodzielne operacje XOR na określonych wartościach SHORT. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedXor16NoFence | Wykonuje niepodzielne operacje XOR na określonych wartościach SHORT. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
| InterlockedXor64 | Wykonuje niepodzielne operacje XOR na określonych wartościach LONGLONG. |
| InterlockedXor64Acquire | Wykonuje niepodzielne operacje XOR na określonych wartościach LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci. |
| InterlockedXor64Release | Wykonuje niepodzielne operacje XOR na określonych wartościach LONGLONG. Operacja jest wykonywana przy użyciu semantyki porządkowania pamięci wydania. |
| InterlockedXor64NoFence | Wykonuje niepodzielne operacje XOR na określonych wartościach LONGLONG. Operacja jest wykonywana niepodziealnie, ale bez użycia barier pamięci |
Funkcje Mutex
| Mutex, funkcja | Opis |
|---|---|
| createMutex | Tworzy lub otwiera nazwany lub nienazwany obiekt mutex. |
| CreateMutexEx | Tworzy lub otwiera nazwany lub nienazwany obiekt mutex i zwraca uchwyt do obiektu. |
| OpenMutex | Otwiera istniejący nazwany obiekt mutex. |
| ReleaseMutex | Zwalnia własność określonego obiektu mutex. |
Funkcje prywatnej przestrzeni nazw
| Funkcja prywatnej przestrzeni nazw | Opis |
|---|---|
| addSIDToBoundaryDescriptor | Dodaje nowy identyfikator zabezpieczeń (SID) do określonego deskryptora granic. |
| AddIntegrityLabelToBoundaryDescriptor | Dodaje nowy wymagany identyfikator zabezpieczeń (SID) do określonego deskryptora granic. |
| ClosePrivateNamespace | Zamyka otwartą przestrzeń nazw. |
| CreateBoundaryDescriptor | Tworzy deskryptor granic. |
| createPrivateNamespace | Tworzy prywatną przestrzeń nazw. |
| DeleteBoundaryDescriptor | Usuwa określony deskryptor granic. |
| OpenPrivateNamespace | Otwiera prywatną przestrzeń nazw. |
Funkcje semafora
| Semaphore, funkcja | Opis |
|---|---|
| CreateSemaphore | Tworzy lub otwiera nazwany lub nienazwany obiekt semaphore. |
| CreateSemaphoreEx | Tworzy lub otwiera nazwany lub nienazwany obiekt semaphore i zwraca uchwyt do obiektu. |
| OpenSemaphore | Otwiera istniejący obiekt semaphore. |
| ReleaseSemaphore | Zwiększa liczbę określonego obiektu semafora o określoną ilość. |
Funkcje listy połączonej singly
| Funkcja listy połączonej singly | Opis |
|---|---|
| initializeSListHead | Inicjuje głowę singly połączonej listy. |
| InterlockedFlushSList | Opróżnia całą listę elementów na połączonej liście. |
| interlockedPopEntrySList | Usuwa element z przodu połączonej listy. |
| InterlockedPushEntrySList | Wstawia element na początku połączonej listy. |
| InterlockedPushListSList | Wstawia singly-linked list na początku innej singly połączonej listy. |
| InterlockedPushListSListEx | Wstawia singly-linked list na początku innej singly połączonej listy. Dostęp do list jest synchronizowany w systemie wieloprocesorowym. Ta wersja metody nie używa __fastcall konwencji wywoływania |
| QueryDepthSList | Pobiera liczbę wpisów na określonej liście połączonej singly. |
| RtlFirstEntrySList | Pobiera pierwszy wpis na liście połączonej singly. |
| RtlInitializeSListHead | Inicjuje głowę singly połączonej listy. Zamiast tego aplikacje powinny wywoływać InitializeSListHead. |
| RtlInterlockedFlushSList | Opróżnia całą listę elementów na połączonej liście. Zamiast tego aplikacje powinny wywoływać InterlockedFlushSList. |
| RtlInterlockedPopEntrySList | Usuwa element z przodu połączonej listy. Zamiast tego aplikacje powinny wywoływać InterlockedPopEntrySList. |
| RtlInterlockedPushEntrySList | Wstawia element na początku połączonej listy. Zamiast tego aplikacje powinny wywoływać InterlockedPushEntrySList. |
| RtlQueryDepthSList | Pobiera liczbę wpisów na określonej liście połączonej singly. Zamiast tego aplikacje powinny wywoływać QueryDepthSList. |
Funkcje barier synchronizacji
| Funkcja bariery synchronizacji | Opis |
|---|---|
| DeleteSynchronizationBarrier | Usuwa barierę synchronizacji. |
| EnterSynchronizationBarrier | Wprowadza barierę synchronizacji i czeka, aż odpowiednia liczba wątków będzie się spotykać w barierze. |
| InitializeSynchronizationBarrier | Inicjuje nową barierę synchronizacji. |
Funkcje czasomierza kolejki czasomierza
| Funkcja czasomierza kolejki czasomierza | Opis |
|---|---|
| ChangeTimerQueueTimer | Aktualizuje czasomierz kolejki czasomierza. |
| createTimerQueue | Tworzy kolejkę dla czasomierzy. |
| createTimerQueueTimer | Tworzy czasomierz kolejki czasomierza. |
| DeleteTimerQueue | Usuwa kolejkę czasomierza. |
| DeleteTimerQueueEx | Usuwa kolejkę czasomierza. |
| DeleteTimerQueueTimer | Anuluje czasomierz kolejki czasomierza. |
Funkcje oczekiwania
| Wait, funkcja | Opis |
|---|---|
| msgWaitForMultipleObjects | Czeka, aż jeden lub wszystkie określone obiekty będą w stanie sygnalizowany lub upłynął interwał limitu czasu. Obiekty mogą zawierać wejściowe obiekty zdarzeń. |
| MsgWaitForMultipleObjectsEx | Czeka, aż jeden lub wszystkie określone obiekty znajdują się w stanie sygnalizowanym, procedura ukończenia we/wy lub wywołanie procedury asynchronicznej (APC) jest kolejkowane do wątku lub interwał limitu czasu, który upłynął. Tablica obiektów może zawierać wejściowe obiekty zdarzeń. |
| RegisterWaitForSingleObject | Kieruje wątek oczekiwania w puli wątków do oczekiwania na obiekt. |
| SignalObjectAndWait | Sygnalizuje jeden obiekt i czeka na inny obiekt jako pojedynczą operację. |
| UnregisterWait | Anuluje zarejestrowaną operację oczekiwania. |
| unregisterWaitEx | Anuluje zarejestrowaną operację oczekiwania. |
| WaitForMultipleObjects | Czeka, aż jeden lub wszystkie określone obiekty będą w stanie sygnalizowany lub upłynął interwał limitu czasu. |
| WaitForMultipleObjectsEx | Czeka, aż jeden lub wszystkie określone obiekty znajdują się w stanie sygnalizowanym, procedura ukończenia we/wy lub wywołanie procedury asynchronicznej (APC) jest kolejkowane do wątku lub interwał limitu czasu, który upłynął. |
| WaitForSingleObject | Czeka, aż określony obiekt będzie w stanie sygnału lub upłynął interwał limitu czasu. |
| WaitForSingleObjectEx | Czeka, aż określony obiekt jest w stanie sygnalizowanym, procedura ukończenia we/wy lub wywołanie procedury asynchronicznej (APC) jest kolejkowane do wątku lub interwał limitu czasu upłynie. |
| WaitOnAddress | Czeka na zmianę wartości pod określonym adresem. |
| WaitOrTimerCallback | Funkcja zdefiniowana przez aplikację, która służy jako adres początkowy wywołania zwrotnego czasomierza lub zarejestrowane wywołanie zwrotne oczekiwania. |
| WakeByAddressAll | Wznawia wszystkie wątki oczekujące na zmianę wartości adresu. |
| WakeByAddressSingle | Wznawia wątek oczekujący na zmianę wartości adresu. |
Funkcje czasomierza oczekiwania
| Funkcja czasomierza oczekiwania | Opis |
|---|---|
| CancelWaitableTimer | Ustawia określony czasomierz oczekiwania na stan nieaktywny. |
| createWaitableTimer | Tworzy lub otwiera obiekt czasomierza, który można czekać. |
| CreateWaitableTimerEx | Tworzy lub otwiera obiekt czasomierza z możliwością oczekiwania i zwraca uchwyt do obiektu. |
| OpenWaitableTimer | Otwiera istniejący obiekt czasomierza z możliwością oczekiwania. |
| SetWaitableTimer | Aktywuje określony czasomierz oczekiwania. |
| SetWaitableTimerEx | Aktywuje określony czasomierz oczekiwania i udostępnia informacje kontekstowe czasomierza. . |
| timerAPCProc | Procedurę uzupełniania czasomierza zdefiniowaną przez aplikację używaną z funkcją SetWaitableTimer. |