Поделиться через


Функция InterlockedDecrement (miniport.h)

Подпрограмма InterlockedDecrement уменьшает переменную, предоставляемую вызывающим элементом типа LONG, как атомарную операцию.

Синтаксис

LONG InterlockedDecrement(
  [in, out] LONG volatile *Addend
);

Параметры

[in, out] Addend

Указатель на переменную для уменьшения.

Возвращаемое значение

InterlockedDecrement возвращает уменьшенное значение.

Комментарии

Вместо ExInterlockedDecrementLong следует использовать InterlockedDecrementLong, так как он является более эффективным и быстрым.

InterlockedDecrement реализуется встроенным компилятором по мере необходимости и возможности. Он не требует блокировки спина и поэтому может безопасно использоваться для страничных данных.

InterlockedDecrement является атомарным только по отношению к другим вызовам InterlockedXxx .

Операции с блокировкой нельзя использовать в некэшированной памяти.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть miniport.h (включая Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
Библиотека OneCoreUAP.lib в Windows 10
IRQL Любой уровень

См. также раздел

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedExchange

InterlockedIncrement