InterlockedIncrementRelease routine
The InterlockedIncrementRelease routine uses release semantics to increment a caller-supplied variable.
Syntax
LONG InterlockedIncrementRelease(
_Inout_ LONG volatile *Addend
);
Parameters
- Addend [in, out]
A pointer to the variable to increment.
Return value
InterlockedIncrementRelease returns the incremented value.
Remarks
The InterlockedIncrementRelease routine performs the same operation as InterlockedIncrement, except that the former guarantees only release semantics whereas the latter guarantees both acquire and release semantics. For more information about acquire and release semantics, see Acquire and Release Semantics.
On processors that do not support release-semantics operations, InterlockedIncrementRelease is identical to InterlockedIncrement. On processors such as Intel Itanium-based processors, which do support these operations, InterlockedIncrementRelease runs faster.
Interlocked operations cannot be used on non-cached memory.
Requirements
Target platform |
Desktop |
Version |
Available only on Windows Server 2003 and later versions of the Windows operating system. |
Header |
Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h) |
IRQL |
Any level |
See also