InterlockedExchangeAdd 函数 (miniport.h)
InterlockedExchangeAdd 例程将值作为原子作添加到给定整数,并返回给定整数的原始值。
语法
LONG InterlockedExchangeAdd(
[in, out] LONG volatile *Addend,
[in] LONG Value
);
参数
[in, out] Addend
指向整数变量的指针。
[in] Value
指定要添加到 附录的值。
返回值
InterlockedExchangeAdd 在调用发生时返回 Addend 变量的原始值。
言论
应使用 InterlockedExchangeAdd,而不是 ExInterlockedAddUlong,因为它既更快又更高效。
InterlockedExchangeAdd 在适当且可能的情况下由编译器内联实现。 它不需要旋转锁,因此可以安全地用于可分页数据。
InterlockedExchangeAdd 仅在其他 InterlockedXxx 调用方面是原子的。
不能对非缓存内存使用互锁作。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 普遍 |
标头 | miniport.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h) |
库 | Windows 10 上的 OneCoreUAP.lib |
IRQL | 任何级别 |