共用方式為


InterlockedExchangePointer 函式 (miniport.h)

InterlockedExchangePointer 例程會執行不可部分完成的作業,以設定新值的指標。

語法

PVOID InterlockedExchangePointer(
  [in, out]      PVOID volatile *Target,
  [in, optional] PVOID          Value
);

參數

[in, out] Target

PVOID 值的指標。 例程會將 [目標] 設定為 Value

[in, optional] Value

指定要將 (*Target) 設定為 的 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 任何層級

另請參閱

InterlockedCompareExchange

InterlockedCompareExchangePointer

InterlockedExchange