Compartir a través de


Función InterlockedExchange

Intercambia un valor de forma atómica.

Sintaxis

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

Parámetros

dest [in]

Tipo: UINT

La dirección de destino.

value [in]

Tipo: UINT

Valor de entrada.

original_value [out]

Tipo: UINT

El valor original.

Valor devuelto

Esta función no devuelve ningún valor.

Observaciones

Esta operación solo se puede realizar en recursos escalares y variables de memoria compartida. Hay tres usos posibles para esta función. La primera es cuando R es un tipo de variable de memoria compartida. En este caso, la función realiza la operación en el registro de memoria compartida al que hace referencia dest. El segundo escenario es cuando R es un tipo de variable de recurso. En este escenario, la función realiza la operación en la ubicación del recurso a la que hace referencia dest. Por último, el tercer escenario es cuando R es un tipo de variable local. En este escenario, la función se reduce a la operación realizada mediante operaciones locales. Esta operación solo está disponible cuando R es legible y grabable.

Esta función se admite en los siguientes tipos de sombreadores:

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

 

Consulte también

RWByteAddressBuffer

Modelo de sombreador 5