InterlockedCompareExchange 函式
比較輸入與比較值,並以不可部分完成的方式交換結果。
語法
void InterlockedCompareExchange(
in UINT dest,
in UINT compare_value,
in UINT value,
out UINT original_value
);
參數
-
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 |
另請參閱