InterlockedExchangePointer, fonction (wdm.h)
La routine InterlockedExchangePointer effectue une opération atomique qui définit un pointeur sur une nouvelle valeur.
Syntaxe
PVOID InterlockedExchangePointer(
[in, out] PVOID volatile *Target,
[in, optional] PVOID Value
);
Paramètres
[in, out] Target
Pointeur vers une valeur PVOID. Les ensembles de routines (*Cible) sur Valeur.
[in, optional] Value
Spécifie la valeur PVOID à définir (*Cible) sur.
Valeur de retour
InterlockedExchangePointer retourne la valeur d’origine du pointeur à * cible (autrement dit, la valeur de ce pointeur à l’entrée de la routine).
Remarques
interlockedExchangePointer offre un moyen atomique rapide de synchroniser la mise à jour d’une variable de pointeur partagée par plusieurs threads.
interlockedExchangePointer est conçu pour la vitesse et, généralement, est implémenté en ligne par un compilateur. InterlockedExchangePointer n’est atomique que par rapport aux autres appels interblocagesXxx. Il n’utilise pas de verrou de rotation et peut être utilisé en toute sécurité sur les données paginables.
Le paramètre cible doit être aligné sur une limite 32 bits ou 64 bits, selon le type de système, pour de meilleures performances.
Un appel à InterlockedExchangePointer n’est atomique que par rapport aux autres appels InterlockedXxx.
Les opérations verrouillées ne peuvent pas être utilisées sur la mémoire non mise en cache.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Bureau |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
IRQL | N’importe quel niveau |