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位元組不可部分完成的比較和交換作業,則會使用呼叫端配置的微調鎖定指標。
傳回值
沒有
言論
此巨集會包裝 InterlockedCompareExchange64 或 ExfInterlockedCompareExchange64,並假設 LONGLONG 類型的傳回值。
ExInterlockedCompareExchange64 測試,而且可能取代指定變數的值。 對於大多數基礎微控制器,編譯程式會內嵌實作此例程,以作為不可部分完成的作業執行。 如果使用微調鎖定,則此例程只能在非分頁參數上安全地使用。
如果 Destination 和 Comparand 不相等,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 | 任何層級 (請參閱一節) |