InterlockedCompareExchange 函数
将输入与比较值进行比较,并自动交换结果。
语法
void InterlockedCompareExchange(
in UINT dest,
in UINT compare_value,
in UINT value,
out UINT original_value
);
parameters
-
dest [in]
-
类型: UINT
目标地址。
-
compare_value [in]
-
类型: UINT
比较值。
-
value [in]
-
类型: UINT
输入值。
-
original_value [out]
-
类型: UINT
原始值。
返回值
此函数不返回值。
注解
以原子方式将 dest 中的值与compare_value进行比较,如果值匹配,则会在 dest 中存储值,并在 original_value 中返回 dest 的原始值。 此操作只能在 int 或 uint 类型的资源和共享内存变量上执行。 此函数有三种可能用途。 第一个是 R 是共享内存变量类型时。 在这种情况下,函数对 dest 引用的共享内存寄存器执行操作。 第二种情况是 R 是资源变量类型。 在此方案中,函数对 dest 引用的资源位置执行 操作。 最后,第三种情况是 R 是局部变量类型。 在此方案中,函数将简化为使用本地操作执行的操作。 仅当 R 可读且可写时,此操作才可用。
以下类型的着色器支持此函数:
VS | HS | DS | GS | PS | CS |
---|---|---|---|---|---|
x | x | x | x | x | x |
另请参阅