Partager via


Fonction InterlockedExchange

Échange une valeur, atomiquement.

Syntaxe

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

Paramètres

dest [in]

Type : UINT

Adresse de destination.

value [in]

Type : UINT

Valeur d'entrée.

original_value [out]

Type : UINT

Valeur d'origine.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

Cette opération ne peut être effectuée que sur des ressources de type scalaire et des variables de mémoire partagée. Il existe trois utilisations possibles pour cette fonction. La première est lorsque R est un type de variable de mémoire partagée. Dans ce cas, la fonction effectue l’opération sur le registre de mémoire partagée référencé par dest. Le deuxième scénario est quand R est un type de variable de ressource. Dans ce scénario, la fonction effectue l’opération sur l’emplacement de ressource référencé par dest. Enfin, le troisième scénario est lorsque R est un type de variable local. Dans ce scénario, la fonction se réduit à l’opération effectuée à l’aide d’opérations locales. Cette opération n’est disponible que lorsque R est lisible et accessible en écriture.

Cette fonction est prise en charge dans les types de nuanceurs suivants :

VS HS Source de données GS PS CS
x x x x x x

 

Voir aussi

RWByteAddressBuffer

Modèle de nuanceur 5