Skip to content

Latest commit

 

History

History
155 lines (85 loc) · 4.66 KB

nf-winnt-interlockedexchange8.md

File metadata and controls

155 lines (85 loc) · 4.66 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NF:winnt.InterlockedExchange8
InterlockedExchange8 function (winnt.h)
Sets an 8-bit variable to the specified value as an atomic operation.
InterlockedExchange8
InterlockedExchange8 function
base.interlockedexchange8
winnt/InterlockedExchange8
base\interlockedexchange8.htm
backup
fe07fac0-b9f2-419e-a086-09bc73125c4e
12/05/2018
InterlockedExchange8, InterlockedExchange8 function, base.interlockedexchange8, winnt/InterlockedExchange8
winnt.h
Windows.h
Windows
Windows 8 [desktop apps only]
Windows Server 2012 [desktop apps only]
Windows
19H1
InterlockedExchange8
winnt/InterlockedExchange8
c++
APIRef
kbSyntax
HeaderDef
Winnt.h
InterlockedExchange8

InterlockedExchange8 function

-description

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.

-parameters

-param Target [in, out]

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

-param Value [in]

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

-returns

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 _InterlockedExchange8.

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

Note  This function is supported on Windows RT-based systems.
 

-see-also

Interlocked Variable Access

InterlockedCompareExchange

InterlockedExchange

InterlockedExchange16

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

Synchronization Functions