InterlockedExchange

InterlockedExchange sets a 64-bit variable to the specified value as an atomic operation.

Syntax

Copy
LONG InterlockedExchange(
    [in, out]  LONG volatile *Target,
    [in]       LONG           Value      
  );

Parameters

[in, out] Target

A pointer to the value to be exchanged. The function sets this variable to Value and returns its prior value.

[in] Value

The value to be exchanged with the value pointed to by Target.

Return Value

The function returns the resulting incremented value.

Remarks

The interlocked functions provide a simple mechanism for synchronizing access to a variable shared by multiple threads. This function is atomic concerning calls to other interlocked functions. It is thread-safe.

This function is implemented using a compiler intrinsic where possible. This function generates a full memory barrier (or fence) to ensure that memory operations are completed properly.

Requirements

Minimum supported version Header Library

wRTOS 1.0 SDK

windows.h

wRTOS_rtss.lib

See Also: