Sets a 64-bit variable to the specified value as an atomic operation. The operation is performed using acquire memory ordering semantics.
Syntax
LONGLONG __cdecl InterlockedExchangeAcquire64(
  _Inout_ LONGLONG volatile Target,
  _In_    LONGLONG          Value
);
Parameters
- Target [in, out] 
 A pointer to the value to exchange. The function sets the value of this parameter to the value of the Value parameter, and returns the prior value of this parameter.
- Value [in] 
 The value to be compared to the value of the Target parameter.
Return value
The function returns the initial value of the Target parameter.
Remarks
The interlocked functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. This function is atomic with respect to calls to other interlocked functions.
This function is implemented using a compiler intrinsic where possible. For more information, see the WinBase.h header file and _InterlockedExchange64_acq.
Note This function is supported on Windows RT-based systems.
Requirements
| Minimum supported client | Windows Vista [desktop apps | UWP apps] | 
| Minimum supported server | Windows Server 2003 [desktop apps | UWP apps] | 
| Header | WinBase.h (include Windows.h) | 
See also
InterlockedExchangePointerAcquire