同步處理函式

下列函式用於同步處理。

非同步函式

非同步函式 Description
APCProc QueueUserAPC 函式搭配使用的應用程式定義回呼函式。
GetOverlappedResult 擷取重迭作業的結果。
GetOverlappedResultEx 擷取指定逾時間隔內重迭作業的結果。
QueueUserAPC 將使用者模式非同步程序呼叫 (APC) 物件新增至指定執行緒的 APC 佇列。

 

條件變數和 SRW 鎖定函式

條件變數和 SRW 鎖定函式 Description
AcquireSRWLockExclusive 取得獨佔模式中 (SRW) 鎖定的讀取器/寫入器。
AcquireSRWLockShared 取得共用模式中 (SRW) 鎖定的讀取器/寫入器。
InitializeConditionVariable 初始化條件變數。
InitializeSRWLock 初始化 (SRW) 鎖定的讀取器/寫入器。
ReleaseSRWLockExclusive 釋放以獨佔模式取得的精簡讀取器/寫入器 (SRW) 鎖定。
ReleaseSRWLockShared 釋放在共用模式中取得的精簡讀取器/寫入器 (SRW) 鎖定。
SleepConditionVariableCS 在指定的條件變數上睡眠,並將指定的關鍵區段釋放為不可部分完成的作業。
SleepConditionVariableSRW 在指定的條件變數上睡眠,並將指定的鎖定釋放為不可部分完成的作業。
TryAcquireSRWLockExclusive 嘗試以獨佔模式取得精簡讀取器/寫入器 (SRW) 鎖定。 如果呼叫成功,呼叫執行緒會取得鎖定的擁有權。
TryAcquireSRWLockShared 嘗試取得共用模式中 (SRW) 鎖定的讀取器/寫入器。 如果呼叫成功,呼叫執行緒會取得鎖定的擁有權。
WakeAllConditionVariable 喚醒所有等候指定條件變數的執行緒。
WakeConditionVariable 喚醒等候指定條件變數的單一線程。

 

重要區段函式

重要區段函式 Description
DeleteCriticalSection 釋放未擁有之重要區段物件所使用的所有資源。
EnterCriticalSection 等候指定之重要區段物件的擁有權。
InitializeCriticalSection 初始化重要區段物件。
InitializeCriticalSectionAndSpinCount 初始化重要區段物件,並設定重要區段的微調計數。
InitializeCriticalSectionEx 使用微調計數和選擇性旗標,初始化重要區段物件。
LeaveCriticalSection 釋放指定之重要區段物件的擁有權。
SetCriticalSectionSpinCount 設定指定之關鍵區段的微調計數。
TryEnterCriticalSection 嘗試進入重大區段而不封鎖。

 

事件函式

事件函式 Description
CreateEvent 建立或開啟具名或未命名的事件物件。
CreateEventEx 建立或開啟具名或未命名的事件物件,並傳回物件的控制碼。
OpenEvent 開啟現有的具名事件物件。
PulseEvent 將指定的事件物件設定為已發出訊號的狀態,然後在釋放適當的等候執行緒數目之後,將其重設為非簽署狀態。
ResetEvent 將指定的事件物件設定為非簽署狀態。
SetEvent 將指定的事件物件設定為已發出訊號的狀態。

 

一次性初始化函式

一次性初始化函式 Description
InitOnceBeginInitialize 開始一次性初始化。
InitOnceComplete 完成一次性初始化。
InitOnceExecuteOnce 成功執行指定的函式一次。 沒有其他指定相同一次性初始化結構的執行緒可以在目前線程執行時執行此函式。
InitOnceInitialize 初始化一次性初始化結構。

 

連結函式

Interlocked 函式 Description
InterlockedAdd 在指定的 LONG 值上執行不可部分完成的加法作業。
InterlockedAddAcquire 在指定的 LONG 值上執行不可部分完成的加法作業。 作業是使用取得記憶體排序語意來執行。
InterlockedAddRelease 在指定的 LONG 值上執行不可部分完成的加法作業。 作業會以釋放記憶體排序語意來執行。
InterlockedAddNoFence 在指定的 LONG 值上執行不可部分完成的加法作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedAdd64 在指定的 LONGLONG 值上執行不可部分完成的加法作業。
InterlockedAddAcquire64 在指定的 LONGLONG 值上執行不可部分完成的加法作業。 作業是使用取得記憶體排序語意來執行。
InterlockedAddRelease64 在指定的 LONGLONG 值上執行不可部分完成的加法作業。 作業會以釋放記憶體排序語意來執行。
InterlockedAddNoFence64 在指定的 LONGLONG 值上執行不可部分完成的加法作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedAnd 在指定的 LONG 值上執行不可部分完成的 AND 作業。
InterlockedAndAcquire 在指定的 LONG 值上執行不可部分完成的 AND 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedAndRelease 在指定的 LONG 值上執行不可部分完成的 AND 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedAndNoFence 在指定的 LONG 值上執行不可部分完成的 AND 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedAnd8 在指定的 char 值上執行不可部分完成的 AND 作業。
InterlockedAnd8Acquire 在指定的 char 值上執行不可部分完成的 AND 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedAnd8Release 在指定的 char 值上執行不可部分完成的 AND 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedAnd8NoFence 在指定的 char 值上執行不可部分完成的 AND 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedAnd16 在指定的 SHORT 值上執行不可部分完成的 AND 作業。
InterlockedAnd16Acquire 在指定的 SHORT 值上執行不可部分完成的 AND 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedAnd16Release 在指定的 SHORT 值上執行不可部分完成的 AND 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedAnd16NoFence 在指定的 SHORT 值上執行不可部分完成的 AND 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedAnd64 在指定的 LONGLONG 值上執行不可部分完成的 AND 作業。
InterlockedAnd64Acquire 在指定的 LONGLONG 值上執行不可部分完成的 AND 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedAnd64Release 在指定的 LONGLONG 值上執行不可部分完成的 AND 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedAnd64NoFence 在指定的 LONGLONG 值上執行不可部分完成的 AND 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedBitTestAndComplement 測試指定 LONG 值的指定位,並補充它。
InterlockedBitTestAndComplement64 測試指定 LONG64 值的指定位,並加以補充。 作業不可部分完成
InterlockedBitTestAndResetAcquire 測試指定 LONG 值的指定位,並將其設定為 0。 作業是不可部分完成的,而且會使用取得記憶體排序語意來執行
InterlockedBitTestAndResetRelease 測試指定 LONG 值的指定位,並將其設定為 0。 作業是不可部分完成的,而且會使用記憶體釋放語意來執行
InterlockedBitTestAndSetAcquire 測試指定 LONG 值的指定位,並將其設定為 1。 作業是不可部分完成的,而且會使用取得記憶體排序語意來執行
InterlockedBitTestAndSetRelease 測試指定 LONG 值的指定位,並將其設定為 1。 作業是不可部分完成的,而且會使用釋放記憶體排序語意來執行
InterlockedBitTestAndReset 測試指定 LONG 值的指定位,並將其設定為 0。
InterlockedBitTestAndReset64 測試指定 LONG64 值的指定位,並將其設定為 0。
InterlockedBitTestAndSet 測試指定 LONG 值的指定位,並將其設定為 1。
InterlockedBitTestAndSet64 測試指定 LONG64 值的指定位,並將其設定為 1。
InterlockedCompare64Exchange128 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較指定的 64 位值,並與指定的 128 位值交換。
InterlockedCompare64ExchangeAcquire128 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較指定的 64 位值,並與指定的 128 位值交換。 作業會使用取得記憶體排序語意來執行。
InterlockedCompare64ExchangeRelease128 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較指定的 64 位值,並與指定的 128 位值交換。 作業會以釋放記憶體排序語意來執行。
InterlockedCompareExchange 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 32 位值,並與另一個 32 位值交換。
InterlockedCompareExchangeAcquire 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 32 位值,並與另一個 32 位值交換。 作業會使用取得記憶體排序語意來執行。
InterlockedCompareExchangeRelease 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 32 位值,並與另一個 32 位值交換。 交換是使用釋放記憶體排序語意來執行。
InterlockedCompareExchangeNoFence 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 32 位值,並與另一個 32 位值交換。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedCompareExchange64 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 64 位值,並與另一個 64 位值交換。
InterlockedCompareExchangeAcquire64 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 64 位值,並與另一個 64 位值交換。 交換是使用取得記憶體排序語意來執行。
InterlockedCompareExchangeRelease64 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 64 位值,並與另一個 64 位值交換。 交換是使用釋放記憶體排序語意來執行。
InterlockedCompareExchangeNoFence64 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 64 位值,並與另一個 64 位值交換。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedCompareExchange16 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 16 位值,並與另一個 16 位值交換
InterlockedCompareExchange16Acquire 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 16 位值,並與另一個 16 位值交換。 作業是使用取得記憶體排序語意來執行
InterlockedCompareExchange16Release 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 16 位值,並與另一個 16 位值交換。 交換是使用釋放記憶體排序語意來執行
InterlockedCompareExchange16NoFence 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 16 位值,並與另一個 16 位值交換。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedCompareExchange128 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的 128 位值,並與另一個 128 位值交換
InterlockedCompareExchangePointer 在指定的指標值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的指標值,並與另一個指標值交換。
InterlockedCompareExchangePointerAcquire 在指定的指標值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的指標值,並與另一個指標值交換。 作業會使用取得記憶體排序語意來執行。
InterlockedCompareExchangePointerRelease 在指定的指標值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的指標值,並與另一個指標值交換。 作業會以釋放記憶體排序語意來執行。
InterlockedCompareExchangePointerNoFence 在指定的值上執行不可部分完成的比較和交換作業。 函式會根據比較的結果,比較兩個指定的指標值,並與另一個指標值交換。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedDecrement 遞減 (減少一個) 指定 32 位變數的值作為不可部分完成的作業。
InterlockedDecrementAcquire 遞減 (減少一個) 指定 32 位變數的值作為不可部分完成的作業。 作業會使用取得記憶體排序語意來執行。
InterlockedDecrementRelease 遞減 (減少一個) 指定 32 位變數的值作為不可部分完成的作業。 作業會以釋放記憶體排序語意來執行。
InterlockedDecrementNoFence 遞減 (減少一個) 指定 32 位變數的值作為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedDecrement16 遞減 (減少一個) 指定 16 位變數的值作為不可部分完成的作業
InterlockedDecrement16Acquire 遞減 (會減少一個) 指定 16 位變數的值做為不可部分完成的作業。 作業是使用取得記憶體排序語意來執行
InterlockedDecrement16Release 遞減 (會減少一個) 指定 16 位變數的值做為不可部分完成的作業。 作業是使用釋放記憶體排序語意來執行
InterlockedDecrement16NoFence 遞減 (會減少一個) 指定 16 位變數的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedDecrement64 遞減 (減少一個) 指定 64 位變數的值做為不可部分完成的作業。
InterlockedDecrementAcquire64 遞減 (減少一個) 指定 64 位變數的值做為不可部分完成的作業。 作業會使用取得記憶體排序語意來執行。
InterlockedDecrementRelease64 遞減 (會減少一個) 指定 64 位變數的值做為不可部分完成的作業。 作業會以釋放記憶體排序語意來執行。
InterlockedDecrementNoFence64 遞減 (會減少一個) 指定 64 位變數的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedExchange 將 32 位變數設定為指定的值做為不可部分完成的作業。
InterlockedExchangeAcquire 將 32 位變數設定為指定的值做為不可部分完成的作業。 作業是使用取得記憶體排序語意來執行。
InterlockedExchangeNoFence 將 64 位變數設定為指定的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedExchange8 將 8 位變數設定為指定的值做為不可部分完成的作業
InterlockedExchange16 將 16 位變數設定為指定的值做為不可部分完成的作業。
InterlockedExchange16Acquire 將 16 位變數設定為指定的值做為不可部分完成的作業。 作業是使用取得記憶體排序語意來執行
InterlockedExchange16NoFence 將 16 位變數設定為指定的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedExchange64 將 64 位變數設定為指定的值做為不可部分完成的作業。
InterlockedExchangeAcquire64 將 32 位變數設定為指定的值做為不可部分完成的作業。 作業是使用取得記憶體排序語意來執行。
InterlockedExchangeNoFence64 將 64 位變數設定為指定的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedExchangePointer 以不可部分完成的方式交換一組指標值。
InterlockedExchangePointerAcquire 以不可部分完成的方式交換一組指標值。 作業是使用取得記憶體排序語意來執行。
InterlockedExchangePointerNoFence 以不可部分完成的方式交換一組位址。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedExchangeSubtract 執行兩個值的不可部分完成減法。
InterlockedExchangeAdd 執行兩個 32 位值的不可部分完成新增。
InterlockedExchangeAddAcquire 執行兩個 32 位值的不可部分完成新增。 作業是使用取得記憶體排序語意來執行。
InterlockedExchangeAddRelease 執行兩個 32 位值的不可部分完成新增。 作業會以釋放記憶體排序語意來執行。
InterlockedExchangeAddNoFence 執行兩個 32 位值的不可部分完成新增。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedExchangeAdd64 執行兩個 64 位值的不可部分完成新增。
InterlockedExchangeAddAcquire64 執行兩個 64 位值的不可部分完成新增。 作業是使用取得記憶體排序語意來執行。
InterlockedExchangeAddRelease64 執行兩個 64 位值的不可部分完成新增。 作業會以釋放記憶體排序語意來執行。
InterlockedExchangeAddNoFence64 執行兩個 64 位值的不可部分完成新增。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedIncrement 遞增 (增加一個,) 指定之 32 位變數的值做為不可部分完成的作業。
InterlockedIncrementAcquire 遞增 (增加一個,) 指定之 32 位變數的值做為不可部分完成的作業。 作業是使用取得記憶體排序語意來執行。
InterlockedIncrementRelease 遞增 (增加一個,) 指定之 32 位變數的值做為不可部分完成的作業。 作業是使用釋放記憶體排序語意來執行。
InterlockedIncrementNoFence 遞增 (增加一個,) 指定之 32 位變數的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedIncrement16 遞增 (以一個) 指定 16 位變數的值作為不可部分完成的作業增加
InterlockedIncrement16Acquire 遞增 (以一個) 指定之 16 位變數的值做為不可部分完成的作業增加。 作業是使用取得記憶體排序語意來執行
InterlockedIncrement16Release 遞增 (以一個) 指定之 16 位變數的值做為不可部分完成的作業增加。 作業是使用釋放記憶體排序語意來執行
InterlockedIncrement16NoFence 遞增 (以一個) 指定之 16 位變數的值做為不可部分完成的作業增加。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedIncrement64 遞增 (增加一) 指定 64 位變數的值做為不可部分完成的作業。
InterlockedIncrementAcquire64 遞增 (增加一) 指定 64 位變數的值做為不可部分完成的作業。 作業是使用取得記憶體排序語意來執行。
InterlockedIncrementRelease64 遞增 (增加一) 指定 64 位變數的值做為不可部分完成的作業。 作業是使用釋放記憶體排序語意來執行。
InterlockedIncrementNoFence64 遞增 (增加一) 指定 64 位變數的值做為不可部分完成的作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedOr 在指定的 LONG 值上執行不可部分完成的 OR 作業。
InterlockedOrAcquire 在指定的 LONG 值上執行不可部分完成的 OR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedOrRelease 在指定的 LONG 值上執行不可部分完成的 OR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedOrNoFence 在指定的 LONG 值上執行不可部分完成的 OR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedOr8 在指定的 char 值上執行不可部分完成的 OR 作業。
InterlockedOr8Acquire 在指定的 char 值上執行不可部分完成的 OR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedOr8Release 在指定的 char 值上執行不可部分完成的 OR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedOr8NoFence 在指定的 char 值上執行不可部分完成的 OR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedOr16 在指定的 SHORT 值上執行不可部分完成的 OR 作業。
InterlockedOr16Acquire 在指定的 SHORT 值上執行不可部分完成的 OR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedOr16Release 在指定的 SHORT 值上執行不可部分完成的 OR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedOr16NoFence 在指定的 SHORT 值上執行不可部分完成的 OR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedOr64 在指定的 LONGLONG 值上執行不可部分完成的 OR 作業。
InterlockedOr64Acquire 在指定的 LONGLONG 值上執行不可部分完成的 OR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedOr64Release 在指定的 LONGLONG 值上執行不可部分完成的 OR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedOr64NoFence 在指定的 LONGLONG 值上執行不可部分完成的 OR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedXor 在指定的 LONG 值上執行不可部分完成的 XOR 作業。
InterlockedXorAcquire 在指定的 LONG 值上執行不可部分完成的 XOR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedXorRelease 在指定的 LONG 值上執行不可部分完成的 XOR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedXorNoFence 在指定的 LONG 值上執行不可部分完成的 XOR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedXor8 在指定的 char 值上執行不可部分完成的 XOR 作業。
InterlockedXor8Acquire 在指定的 char 值上執行不可部分完成的 XOR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedXor8Release 在指定的 char 值上執行不可部分完成的 XOR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedXor8NoFence 在指定的 char 值上執行不可部分完成的 XOR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedXor16 在指定的 SHORT 值上執行不可部分完成的 XOR 作業。
InterlockedXor16Acquire 在指定的 SHORT 值上執行不可部分完成的 XOR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedXor16Release 在指定的 SHORT 值上執行不可部分完成的 XOR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedXor16NoFence 在指定的 SHORT 值上執行不可部分完成的 XOR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障
InterlockedXor64 在指定的 LONGLONG 值上執行不可部分完成的 XOR 作業。
InterlockedXor64Acquire 在指定的 LONGLONG 值上執行不可部分完成的 XOR 作業。 作業是使用取得記憶體排序語意來執行。
InterlockedXor64Release 在指定的 LONGLONG 值上執行不可部分完成的 XOR 作業。 作業會以釋放記憶體排序語意來執行。
InterlockedXor64NoFence 在指定的 LONGLONG 值上執行不可部分完成的 XOR 作業。 作業會以不可部分完成的方式執行,但不使用記憶體屏障

 

Mutex 函式

Mutex 函式 Description
CreateMutex 建立或開啟具名或未命名的 mutex 物件。
CreateMutexEx 建立或開啟具名或未命名的 mutex 物件,並傳回物件的控制碼。
OpenMutex 開啟現有的具名 mutex 物件。
ReleaseMutex 釋放指定 Mutex 物件的擁有權。

 

私人命名空間函式

私人命名空間函式 Description
AddSIDToBoundaryDescriptor 將新的安全性識別碼 (SID) 新增至指定的界限描述元。
AddIntegrityLabelToBoundaryDescriptor 將新的必要安全性識別碼 (SID) 新增至指定的界限描述元。
ClosePrivateNamespace 關閉開啟的命名空間控制碼。
CreateBoundaryDescriptor 建立界限描述元。
CreatePrivateNamespace 建立私人命名空間。
DeleteBoundaryDescriptor 刪除指定的界限描述元。
OpenPrivateNamespace 開啟私人命名空間。

 

旗號函式

旗號函式 Description
CreateSemaphore 建立或開啟具名或未命名的旗號物件。
CreateSemaphoreEx 建立或開啟具名或未命名的號號物件,並傳回物件的控制碼。
OpenSemaphore 開啟現有的具名旗號物件。
ReleaseSemaphore 依指定的數量增加指定旗號物件的計數。

 

Singly 連結清單函式

Singly 連結清單函式 Description
InitializeSListHead 初始化單向連結清單的前端。
InterlockedFlushSList 排清單一連結清單中的整個專案清單。
InterlockedPopEntrySList 從單向連結清單的前面移除專案。
InterlockedPushEntrySList 在單一連結清單的前面插入專案。
InterlockedPushListSList 將單一連結清單插入另一個單一連結清單的前端。
InterlockedPushListSListEx 將單一連結清單插入另一個單一連結清單的前端。 多處理器系統上會同步處理清單的存取權。 這個版本的 方法不會使用 __fastcall 呼叫慣例
QueryDepthSList 擷取指定之單一連結清單中的專案數目。
RtlFirstEntrySList 擷取單向連結清單中的第一個專案。
RtlInitializeSListHead 初始化單向連結清單的前端。 應用程式應該改為呼叫 InitializeSListHead
RtlInterlockedFlushSList 排清單一連結清單中的整個專案清單。 應用程式應該改為呼叫 InterlockedFlushSList
RtlInterlockedPopEntrySList 從單向連結清單的前面移除專案。 應用程式應該改為呼叫 InterlockedPopEntrySList
RtlInterlockedPushEntrySList 在單一連結清單的前面插入專案。 應用程式應該改為呼叫 InterlockedPushEntrySList
RtlQueryDepthSList 擷取指定之單一連結清單中的專案數目。 應用程式應該改為呼叫 QueryDepthSList

 

同步處理屏障函式

同步處理屏障函式 Description
DeleteSynchronizationBarrier 刪除同步處理屏障。
EnterSynchronizationBarrier 輸入同步處理屏障,並等候適當的執行緒數目在屏障上交集。
InitializeSynchronizationBarrier 初始化新的同步處理屏障。

 

計時器佇列計時器函式

計時器佇列計時器函式 Description
ChangeTimerQueueTimer 更新計時器佇列計時器。
CreateTimerQueue 建立計時器的佇列。
CreateTimerQueueTimer 建立計時器佇列計時器。
DeleteTimerQueue 刪除計時器佇列。
DeleteTimerQueueEx 刪除計時器佇列。
DeleteTimerQueueTimer 取消計時器佇列計時器。

 

等候函式

Wait 函式 Description
MsgWaitForMultipleObjects 等候一或所有指定的物件處於訊號狀態或逾時間隔經過為止。 物件可以包含輸入事件物件。
MsgWaitForMultipleObjectsEx 等候一或所有指定的物件處於訊號狀態、I/O 完成常式或非同步程序呼叫 (APC) 排入執行緒,或逾時間隔經過。 物件的陣列可以包含輸入事件物件。
RegisterWaitForSingleObject 指示執行緒集區中的等候執行緒等候物件。
SignalObjectAndWait 發出一個物件的訊號,並等候另一個物件做為單一作業。
UnregisterWait 取消已註冊的等候作業。
UnregisterWaitEx 取消已註冊的等候作業。
WaitForMultipleObjects 等候一或所有指定的物件處於訊號狀態或逾時間隔經過為止。
WaitForMultipleObjectsEx 等候一或所有指定的物件處於訊號狀態、I/O 完成常式或非同步程序呼叫 (APC) 排入執行緒,或逾時間隔經過。
WaitForSingleObject 等到指定的物件處於訊號狀態或逾時間隔經過為止。
WaitForSingleObjectEx 等候指定的物件處於訊號狀態、I/O 完成常式或非同步程序呼叫 (APC) 排入執行緒,或逾時間隔經過。
WaitOnAddress 等候位於指定位址的值變更。
WaitOrTimerCallback 應用程式定義的函式,做為計時器回呼或已註冊等候回呼的起始位址。
WakeByAddressAll 喚醒所有線程,等候位址的值變更。
WakeByAddressSingle 喚醒執行緒,等候位址的值變更。

 

Waitable-timer 函式

Waitable-timer 函式 Description
CancelWaitableTimer 將指定的可等候計時器設定為非使用中狀態。
CreateWaitableTimer 建立或開啟可等候的計時器物件。
CreateWaitableTimerEx 建立或開啟可等候的計時器物件,並傳回物件的控制碼。
OpenWaitableTimer 開啟現有的具名可等候計時器物件。
SetWaitableTimer 啟動指定的可等候計時器。
SetWaitableTimerEx 啟動指定的可等候計時器,並提供計時器的內容資訊。 .
TimerAPCProc 應用程式定義的計時器完成常式搭配 SetWaitableTimer 函式使用。