Función InterlockedXor

Realiza un XOR atómico en el valor.

Sintaxis

void InterlockedXor(
  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 con tipo INT o UINT y en variables de memoria compartidas. 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 un XOR atómico con el valor del registro de memoria compartido 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 un XOR atómico con el valor de 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 un XOR de los valores dest y value. El resultado de la operación reemplaza el valor de dest. La función sobrecargada tiene una variable de salida adicional que se establecerá en el valor original de dest. Esta operación sobrecargada 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