Функция 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 Любой уровень

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

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedExchange

InterlockedIncrement