Interlockedexchang fonction)
Échange une valeur, de manière atomique.
Syntaxe
void InterlockedExchange(
in UINT dest,
in UINT value,
out UINT original_value
);
Paramètres
-
dest [ . dans]
-
Type : uint
Adresse de destination.
-
valeur [ dans]
-
Type : uint
Valeur d'entrée.
-
_ valeur d’origine []
-
Type : uint
Valeur d'origine.
Valeur renvoyée
Cette fonction ne retourne pas de valeur.
Remarques
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 de 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 lorsque R est un type de variable de ressource. Dans ce scénario, la fonction effectue l’opération sur l’emplacement de la ressource référencé par dest. Enfin, le troisième scénario est lorsque R est un type de variable locale. Dans ce scénario, la fonction réduit à l’opération effectuée à l’aide d’opérations locales. Cette opération est uniquement disponible lorsque R est accessible en lecture et en écriture.
Cette fonction est prise en charge dans les types de nuanceurs suivants :
| VS | SH | Source de données | GS | PS | CS |
|---|---|---|---|---|---|
| x | x | x | x | x | x |