Skip to content

Latest commit

 

History

History
148 lines (81 loc) · 4.04 KB

nf-winnt-interlockedor.md

File metadata and controls

148 lines (81 loc) · 4.04 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.InterlockedOr
InterlockedOr function (winnt.h)
Performs an atomic OR operation on the specified LONG values.
InterlockedOr
InterlockedOr function
base.interlockedor
winnt/InterlockedOr
base\interlockedor.htm
backup
c677e9fb-4188-466a-8283-9d65a50d150e
12/05/2018
InterlockedOr, InterlockedOr function, base.interlockedor, winnt/InterlockedOr
winnt.h
Windows.h
Windows
Windows
19H1
InterlockedOr
winnt/InterlockedOr
c++
APIRef
kbSyntax
HeaderDef
Winnt.h
InterlockedOr

InterlockedOr function

-description

Performs an atomic OR operation on the specified LONG values. The function prevents more than one thread from using the same variable simultaneously.

-parameters

-param Destination [in, out]

A pointer to the first operand. This value will be replaced with the result of the operation.

-param Value [in]

The second operand.

-returns

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.

For the Intel Itanium-based systems and x64 architectures, this function is implemented using the compiler intrinsic. For the x86 architecture, use the _InterlockedOr compiler intrinsic directly.

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 InterlockedOrAcquire or InterlockedOrRelease instead.

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

-see-also

Interlocked Variable Access

InterlockedOr16

InterlockedOr16Acquire

InterlockedOr16NoFence

InterlockedOr16Release

InterlockedOr64

InterlockedOr64Acquire

InterlockedOr64NoFence

InterlockedOr64Release

InterlockedOr8

InterlockedOr8Acquire

InterlockedOr8NoFence

InterlockedOr8Release

InterlockedOrAcquire

InterlockedOrNoFence

InterlockedOrRelease

Synchronization Functions