InterlockedExchange 函式

以不可部分完成的方式交換值。

語法

void InterlockedExchange(
  in  UINT dest,
  in  UINT value,
  out UINT original_value
);

參數

dest [in]

類型: UINT

目的地位址。

value [in]

類型: UINT

輸入值。

original_value [out]

類型: UINT

原始的值。

傳回值

此函式不會傳回值。

備註

此作業只能在純量型別資源和共用記憶體變數上執行。 此函式有三個可能的用法。 第一個是當 R 是共用記憶體變數類型時。 在此情況下,函式會在 dest 所參考的共用記憶體暫存器上執行作業。 第二個案例是當 R 是資源變數類型時。 在此案例中,函式會在 dest 所參考的資源位置上執行作業。 最後,第三個案例是 R 是區域變數類型。 在此案例中,函式會減少為使用本機作業執行的作業。 只有在 R 可讀取且可寫入時,才能使用此作業。

下列著色器類型支援此函式:

VS HS DS GS PS CS
x x x x x x

 

另請參閱

RWByteAddressBuffer

著色器模型 5