Função InterlockedXor

Executa um XOR atômico no valor .

Sintaxe

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

Parâmetros

dest [in]

Tipo: UINT

O endereço de destino.

value [in]

Tipo: UINT

O valor de entrada.

original_value [out]

Tipo: UINT

O valor original.

Retornar valor

Essa função não retorna um valor.

Comentários

Essa operação só pode ser executada em recursos digitados int ou UINT e variáveis de memória compartilhada. Há três usos possíveis para essa função. A primeira é quando R é um tipo de variável de memória compartilhada. Nesse caso, a função executa um XOR atômico com o valor do registro de memória compartilhada referenciado por dest. O segundo cenário é quando R é um tipo de variável de recurso. Nesse cenário, a função executa um XOR atômico com o valor do local do recurso referenciado por dest. Por fim, o terceiro cenário é quando R é um tipo de variável local. Nesse cenário, a função reduz a um XOR dos valores de dest e value. O resultado da operação substitui o valor em dest. A função sobrecarregada tem uma variável de saída adicional que será definida como o valor original de dest. Essa operação sobrecarregada está disponível somente quando o R é legível e gravável.

Essa função tem suporte nos seguintes tipos de sombreadores:

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

 

Confira também

RWByteAddressBuffer

Modelo de sombreador 5