HLE Release _InterlockedCompareExchange Functions

Performs an atomic compare-and-exchange operation on the specified values and releases pending active HLE transaction. This intrinsic function applies to C/C++ applications for Windows* only.

Syntax

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

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

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

Parameters

Destination [in, out]

pointer to the destination value

Exchange [in]

value which will be written at Destination if the comparison matches.

Comparand [in]

value to compare to the value referenced by Destination.

Description

Performs an atomic compare-and-exchange operation on the specified values and releases a pending HLE transaction (if one is active).

The function compares two specified values and replaces one of them with a third value if the compared values are equal.

Returns

Returns the initial value referenced by the Destination parameter.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.