インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

HLE Acquire _InterlockedCompareExchange 関数

指定された値に対してアトミックな比較-交換操作を実行し、実行するプラットフォームでサポートされている場合は HLE トランザクションを開始します。この組込み関数は、Windows* 向けの C/C++ アプリケーションにのみ適用されます。

構文

long _InterlockedCompareExchange_HLEAcquire(long volatile *Destination, long Exchange, long Comparand);

__int64 _InterlockedCompareExchange64_HLEAcquire(__int64 volatile *Destination, __int64 Exchange, __int64 Comparand);

void * _InterlockedCompareExchangePointer_HLEAcquire(void * volatile *Destination, void * Exchange, void * Comparand);

パラメーター

Destination [in, out]

デスティネーション値へのポインター

Exchange [in]

比較した値が等しい場合に Destination に書き込まれる値

Comparand [in]

Destination で参照される値と比較する値

説明

指定された値に対してアトミックな比較-交換操作を実行し、実行するプラットフォームがサポートしている場合は HLE トランザクションを開始します。

これらの関数は、指定された 2 つの値を比較し、等しい場合はそのうちの 1 つを Exchange の値で置換します。

戻り値

Destination 引数で参照される初期値。