Функция InterlockedDecrement (wdm.h)
InterlockedDecrement подпрограмма уменьшает переменную типа, предоставляемую вызывающим оператором, как атомарную операцию.
Синтаксис
LONG CDECL_NON_WVMPURE InterlockedDecrement(
[in, out] LONG volatile *Addend
);
Параметры
[in, out] Addend
Указатель на переменную для уменьшения.
Возвращаемое значение
InterlockedDecrement возвращает отложенное значение.
Замечания
InterlockedDecrement следует использовать вместо ExInterlockedDecrementLong, так как она эффективнее и быстрее.
InterlockedDecrement реализуется компилятором, если это возможно. Для этого не требуется блокировка спина и поэтому ее можно безопасно использовать на страницах данных.
InterlockedDecrement является атомарным только в отношении других вызовов interlockedXxx.
Операции с блокировкой нельзя использовать в не кэшированном памяти.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
библиотеки | OneCoreUAP.lib в Windows 10 |
IRQL | Любой уровень |