共用方式為


ExInterlockedCompareExchange64 巨集 (wdm.h)

ExInterlockedCompareExchange64 例程會比較一個整數變數與另一個整數變數,如果相等,請將第一個變數設定為呼叫端提供的值。

語法

void ExInterlockedCompareExchange64(
  [in, out]  Destination,
  [in]       Exchange,
             Comperand,
  [in]       Lock
);

參數

[in, out] Destination

將比較且可能取代之整數的指標。

[in] Exchange

整數的指標,如果比較結果相等,則會取代 Destination

Comperand

要比較 Destination 值之整數的指標。

[in] Lock

如果主機系統不支援8位元組不可部分完成的比較和交換作業,則會使用呼叫端配置的微調鎖定指標。

傳回值

沒有

言論

此巨集會包裝 InterlockedCompareExchange64ExfInterlockedCompareExchange64,並假設 LONGLONG 類型的傳回值。

ExInterlockedCompareExchange64 測試,而且可能取代指定變數的值。 對於大多數基礎微控制器,編譯程式會內嵌實作此例程,以作為不可部分完成的作業執行。 如果使用微調鎖定,則此例程只能在非分頁參數上安全地使用。

如果 DestinationComparand 不相等,ExInterlockedCompareExchange64 只會傳回 destination 的值。

ExInterlockedCompareExchange64 僅適用於其他 (Ex)InterlockedXxx 呼叫。

ExInterlockedCompareExchange64 的呼叫端可以在任何 IRQL 上執行。 Destination、Comparand 和 Exchange 參數的記憶體,而且清單專案必須位於所有 IRCL。

要求

要求 價值
最低支援的用戶端 從 Windows 2000 開始提供。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何層級 (請參閱一節)

另請參閱

InterlockedCompareExchange

InterlockedExchange

InterlockedExchangeAdd