Funzione InterlockedExchange (miniport.h)
La routine InterlockedExchange imposta una variabile integer su un determinato valore come operazione atomica.
Sintassi
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
Parametri
[in, out] Target
Puntatore a una variabile da impostare sul valore fornito come operazione atomica.
[in] Value
Specifica il valore in cui verrà impostata la variabile.
Valore restituito
InterlockedExchange restituisce il valore della variabile in Target quando si è verificata la chiamata.
Commenti
È consigliabile usare InterlockedExchange anziché ExInterlockedExchangeUlong, perché è sia più veloce che più efficiente.
InterlockedExchange viene implementato inline dal compilatore quando appropriato e possibile. Non richiede un blocco di rotazione e può quindi essere usato in modo sicuro nei dati di paging.
Una chiamata alla routine InterlockedExchange è atomica solo rispetto ad altre chiamate Xxx interlocked.
Le operazioni interlocked non possono essere usate nella memoria non memorizzata nella cache.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Libreria | OneCoreUAP.lib in Windows 10 |
IRQL | Qualsiasi livello |