InterlockedXor64 function
Performs an atomic XOR operation on the specified LONGLONG values. The function prevents more than one thread from using the same variable simultaneously.
Syntax
LONGLONG __cdecl InterlockedXor64(
_Inout_ LONGLONG volatile *Destination,
_In_ LONGLONG Value
);
Parameters
- Destination [in, out]
-
A pointer to the first operand. This value will be replaced with the result of the operation.
- Value [in]
-
The second operand.
Return value
The function returns the original value of the Destination 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 _InterlockedXor64.
This function generates a full memory barrier (or fence) to ensure that memory operations are completed in order.
Itanium-based systems: For performance-critical applications, use InterlockedXor64Acquire or InterlockedXor64Release instead.
Note
Requirements
|
Header |
|
|---|
See also
- Interlocked Variable Access
- InterlockedXor
- InterlockedXorAcquire
- InterlockedXorRelease
- InterlockedXorNoFence
- InterlockedXor8
- InterlockedXor8Acquire
- InterlockedXor8Release
- InterlockedXor8NoFence
- InterlockedXor16
- InterlockedXor16Acquire
- InterlockedXor16Release
- InterlockedXor16NoFence
- InterlockedXor64Acquire
- InterlockedXor64Release
- InterlockedXor64NoFence
- Synchronization Functions