InterlockedExchange8

InterlockedExchange8 sets an 8-bit variable to the specified value as an atomic operation.

To operate on a pointer variable, use the InterlockedExchangePointer function.

To operate on a 16-bit variable, use the InterlockedExchange16 function.

To operate on a 32-bit variable, use the InterlockedExchange function.

To operate on a 64-bit variable, use the InterlockedExchange64 function.

Syntax

Copy
char InterlockedExchange8(
    [in, out]  char volatile *Target,
    [in]       char           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 initial value of the Target parameter.

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.

This function is implemented using a compiler intrinsic where possible. For more information, see the winbase.h header file and _InterlockedExchange8.

This function generates a full memory barrier (or fence) to ensure that memory operations are completed properly.

Requirements

Minimum supported version Header

wRTOS 1.0 SDK

windows.h

See Also: