InterlockedDecrementAcquire routine
The InterlockedDecrementAcquire routine uses acquire semantics to decrement a caller-supplied variable.
Syntax
LONG InterlockedDecrementAcquire(
_Inout_ LONG volatile *Addend
);
Parameters
- Addend [in, out]
A pointer to the variable to decrement.
Return value
InterlockedDecrementAcquire returns the decremented value.
Remarks
The InterlockedDecrementAcquire routine performs the same operation as InterlockedDecrement, except that the former guarantees only acquire 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 acquire-semantics operations, InterlockedDecrementAcquire is identical to InterlockedDecrement. On processors such as Intel Itanium-based processors, which do support these operations, InterlockedDecrementAcquire 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