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