InterlockedDecrement function (miniport.h)
The InterlockedDecrement routine decrements a caller-supplied variable of type LONG as an atomic operation.
LONG InterlockedDecrement(
[in, out] LONG volatile *Addend
);
[in, out] Addend
A pointer to a variable to be decremented.
InterlockedDecrement returns the decremented value.
InterlockedDecrement should be used instead of ExInterlockedDecrementLong because it is both more efficient and faster.
InterlockedDecrement is implemented inline by the compiler when appropriate and possible. It does not require a spin lock and can therefore be safely used on pageable data.
InterlockedDecrement is atomic only with respect to other InterlockedXxx calls.
Interlocked operations cannot be used on non-cached memory.
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 2000. |
Target Platform | Universal |
Header | miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Library | OneCoreUAP.lib on Windows 10 |
IRQL | Any level |