InterlockedExchangeAdd 函数 (wdm.h)

InterlockedExchangeAdd 例程将值作为原子操作添加到给定整数中,并返回给定整数的原始值。

语法

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

参数

[in, out] Addend

指向整数变量的指针。

[in] Value

指定要添加到 Addend 的值。

返回值

发生调用时,InterlockedExchangeAdd 返回 Addend 变量的原始值。

注解

应使用 InterlockedExchangeAdd 而不是 ExInterlockedAddUlong,因为它更快、更高效。

InterlockedExchangeAdd 由编译器在适当且可能的情况下内联实现。 它不需要旋转锁,因此可以安全地用于可分页数据。

InterlockedExchangeAdd 仅在其他 InterlockedXxx 调用方面是原子的。

互锁操作不能用于非缓存内存。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h)
Library Windows 10 上的 OneCoreUAP.lib
IRQL 任何级别

另请参阅

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement