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