The latest version of this topic can be found at _InterlockedAddLargeStatistic.

Microsoft Specific**

Performs an interlocked addition in which the first operand is a 64-bit value.


long _InterlockedAddLargeStatistic(  
   __int64 volatile * Addend,  
   long Value  


[in, out] Addend
A pointer to the first operand to the add operation. The value pointed to is replaced by the result of the addition.

[in] Value
The second operand; value to add to the first operand.

Return Value

The value of the second operand.


Intrinsic Architecture
_InterlockedAddLargeStatistic x86

Header file <intrin.h>


This intrinsic is not atomic because it is implemented as two separate locked instructions. An atomic 64-bit read that occurs on another thread during the execution of this intrinsic could result in an inconsistent value being read.

This function behaves as a read-write barrier. For more information, see _ReadWriteBarrier.

END Microsoft Specific

See Also

Compiler Intrinsics
Conflicts with the x86 Compiler