InterlockedExchangePointer 函式 (miniport.h)
InterlockedExchangePointer 例程會執行不可部分完成的作業,以設定新值的指標。
語法
PVOID InterlockedExchangePointer(
[in, out] PVOID volatile *Target,
[in, optional] PVOID Value
);
參數
[in, out] Target
PVOID 值的指標。 例程會將 (*Target) 設定為 Value。
[in, optional] Value
指定要設定 (*目標) 的 PVOID 值。
傳回值
InterlockedExchangePointer 會傳回位於 *Target (之指標的原始值,也就是此指標在進入例程) 的值。
備註
InterlockedExchangePointer 提供快速、不可部分完成的方式,可同步更新多個線程共用的指標變數。
InterlockedExchangePointer 是專為速度所設計,通常由編譯程式內嵌實作。 InterlockedExchangePointer 只能與其他 InterlockedXxx 呼叫有關。 它不會使用微調鎖定,而且可以在可分頁數據上安全地使用。
Target 參數應該對齊 32 位或 64 位界限,視系統類型而定,以提升效能。
InterlockedExchangePointer 的呼叫只能在其他 InterlockedXxx 呼叫上不可部分完成。
無法對非快取記憶體使用內嵌作業。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | 桌面 |
標頭 | miniport.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h) |
IRQL | 任何層級 |