ExInterlockedCompareExchange64 宏 (wdm.h)
ExInterlockedCompareExchange64 例程會比較一個整數變數與另一個整數變數,如果相等,請將第一個變數設定為呼叫端提供的值。
語法
void ExInterlockedCompareExchange64(
[in, out] Destination,
[in] Exchange,
Comperand,
[in] Lock
);
參數
[in, out] Destination
要比較且可能取代之整數的指標。
[in] Exchange
如果比較結果相等,整數的指標將會取代 Destination 中的指標。
Comperand
要比較目的地值之整數的指標。
[in] Lock
如果主機系統不支援8位元組不可部分完成的比較和交換作業,則會使用呼叫端配置的微調鎖定指標。
傳回值
無
備註
這個宏會包裝 InterlockedCompareExchange64 或 ExfInterlockedCompareExchange64 ,並假設 LONGLONG 類型的傳回值。
ExInterlockedCompareExchange64 測試,而且可能取代指定變數的值。 對於大部分的基礎處理器,編譯程式會內嵌實作此例程,以作為不可部分完成的作業來執行。 如果使用微調鎖定,此例程只能在非分頁參數上安全地使用。
如果 Destination 和 Comparand 不相等, ExInterlockedCompareExchange64 只會傳回 Destination 的值。
ExInterlockedCompareExchange64 僅適用於其他 (Ex) InterlockedXxx 呼叫。
ExInterlockedCompareExchange64 的呼叫端可以在任何 IRQL 上執行。 Destination、Comparand 和 Exchange 參數和列表專案的記憶體必須位於所有 IRQL。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 任何層級 (請參閱一節) |