wdm.h) (InterlockedExchange 函数

InterlockedExchange 例程将整数变量设置为给定值作为原子操作。

语法

LONG InterlockedExchange(
  [in, out] LONG volatile *Target,
  [in]      LONG          Value
);

参数

[in, out] Target

指向要作为原子操作设置为提供的 值的 变量的指针。

[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 任何级别

另请参阅

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement