Fonction InterlockedExchange (miniport.h)
La routine InterlockedExchange définit une variable entière sur une valeur donnée en tant qu’opération atomique.
Syntaxe
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
Paramètres
[in, out] Target
Pointeur vers une variable à définir sur la valeur fournie en tant qu’opération atomique.
[in] Value
Spécifie la valeur à laquelle la variable sera définie.
Valeur retournée
InterlockedExchange retourne la valeur de la variable sur Cible lorsque l’appel s’est produit.
Remarques
InterlockedExchange doit être utilisé à la place d’ExInterlockedExchangeUlong, car il est à la fois plus rapide et plus efficace.
InterlockedExchange est implémenté inline par le compilateur lorsque cela est approprié et possible. Il ne nécessite pas de verrouillage de rotation et peut donc être utilisé en toute sécurité sur des données paginables.
Un appel à la routine InterlockedExchange est atomique uniquement par rapport à d’autres appels Xxx verrouillés.
Les opérations verrouillées ne peuvent pas être utilisées sur la mémoire non mise en cache.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | miniport.h (inclure Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Bibliothèque | OneCoreUAP.lib sur Windows 10 |
IRQL | N’importe quel niveau |