Atomically compares the Destination and Comperand values. If the Destination value equals the Comperand value, the Exchange value is stored in the address specified by Destination. Otherwise, no action occurs.
LONG InterlockedCompareExchange( LPLONG volatile Destination, LONG Exchange, LONG Comperand );
Destination
Exchange
Comperand
Destination
. InterlockedCompareExchange, InterlockedDecrement, InterlockedExchange, InterlockedExchangeAdd, and InterlockedIncrement provide a simple mechanism for synchronizing access to a variable shared by multiple threads. If the variable is in shared memory, threads of different processes can use this mechanism.
The variables for InterlockedCompareExchange must be aligned on a 32-bit boundary.
The destination's initial value.
Versions | Defined in | Include | Link to |
---|---|---|---|
INtime 3.0 | intime/rt/include/winbase.h | windows.h | iwin32.lib |
Note
This function operates in the real-time portion of your application.
InterlockedDecrement, InterlockedExchange, InterlockedExchangeAdd, InterlockedIncrement, iwin32 API, iwin32 Overview