winnt.h (InterlockedExchange8 函式)
將8位變數設定為指定的值做為不可部分完成的作業。
若要在指標變數上操作,請使用 InterlockedExchangePointer 函 式。
若要在16位變數上運作,請使用 InterlockedExchange16 函式。
若要在 32 位變數上運作,請使用 InterlockedExchange 函式。
若要在 64 位變數上運作,請使用 InterlockedExchange64 函式。
語法
CHAR InterlockedExchange8(
[in, out] CHAR volatile *Target,
[in] CHAR Value
);
參數
[in, out] Target
要交換之值的指標。 函式會將這個變數設定為 Value,並傳回其先前的值。
[in] Value
要與 Target 所指向的值交換的值。
傳回值
函式會傳回 Target 參數的初始值。
備註
連結函式提供簡單的機制,可同步存取多個線程所共享的變數。 此函式對其他連結函式的呼叫是不可部分完成的。
此函式會盡可能使用編譯程式內部函數來實作。 如需詳細資訊,請參閱 WinBase.h 頭文件與 _InterlockedExchange8。
此函式會產生完整的記憶體屏障 (或柵欄) ,以確保記憶體作業會依序完成。
注意Windows RT 型系統支援此函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winnt.h (包含 Windows.h) |
另請參閱
InterlockedExchangePointerAcquire