Skip to content

Latest commit

 

History

History
132 lines (77 loc) · 4.15 KB

nf-winnt-interlockeddecrement64.md

File metadata and controls

132 lines (77 loc) · 4.15 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.InterlockedDecrement64
InterlockedDecrement64 function (winnt.h)
Decrements (decreases by one) the value of the specified 64-bit variable as an atomic operation.
InterlockedDecrement64
InterlockedDecrement64 function
base.interlockeddecrement64
winnt/InterlockedDecrement64
base\interlockeddecrement64.htm
backup
073b42ba-90dd-48a1-9661-9b1686c09561
12/05/2018
InterlockedDecrement64, InterlockedDecrement64 function, base.interlockeddecrement64, winnt/InterlockedDecrement64
winnt.h
Windows.h
Windows
Windows Vista [desktop apps \| UWP apps]
Windows Server 2003 [desktop apps \| UWP apps]
Windows
19H1
InterlockedDecrement64
winnt/InterlockedDecrement64
c++
APIRef
kbSyntax
HeaderDef
Winnt.h
InterlockedDecrement64

InterlockedDecrement64 function

-description

Decrements (decreases by one) the value of the specified 64-bit variable as an atomic operation.

To operate on 32-bit values, use the InterlockedDecrement function.

-parameters

-param Addend [in, out]

A pointer to the variable to be decremented.

-returns

The function returns the resulting decremented value.

-remarks

The variable pointed to by the Addend parameter must be aligned on a 64-bit boundary; otherwise, this function will behave unpredictably on multiprocessor x86 systems and any non-x86 systems. See _aligned_malloc.

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

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 InterlockedDecrementAcquire64 or InterlockedDecrementRelease64 instead.

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

-see-also

Interlocked Variable Access

InterlockedDecrement

InterlockedDecrement16

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

Synchronization Functions