InterlockedExchange 函数 (wdm.h)
InterlockedExchange 例程将整数变量设置为给定值作为原子操作。
语法
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
参数
[in, out] Target
指向要设置为作为原子操作提供的 Value 的变量的指针。
[in] Value
指定要设置变量的值。
返回值
发生调用时,InterlockedExchange 返回 Target 处变量的值。
注解
应使用 InterlockedExchange 而不是 ExInterlockedExchangeUlong,因为它更快、更高效。
InterlockedExchange 在适当且可能的情况下由编译器内联实现。 它不需要旋转锁,因此可以安全地用于可分页数据。
对 InterlockedExchange 例程的调用仅相对于其他 InterlockedXxx 调用而言是原子的。
互锁操作不能用于非缓存内存。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h) |
Library | Windows 10 上的 OneCoreUAP.lib |
IRQL | 任何级别 |