Funzione InterlockedExchangeAdd (wdm.h)
La routine InterlockedExchangeAdd aggiunge un valore a un intero specificato come operazione atomica e restituisce il valore originale dell'intero specificato.
Sintassi
LONG InterlockedExchangeAdd(
[in, out] LONG volatile *Addend,
[in] LONG Value
);
Parametri
[in, out] Addend
Puntatore a una variabile integer.
[in] Value
Specifica il valore da aggiungere a Addend.
Valore restituito
InterlockedExchangeAdd restituisce il valore originale della variabile Addend quando si è verificata la chiamata.
Osservazioni
è consigliabile usare InterlockedExchangeAdd anziché ExInterlockedAddUlong perché è sia più veloce che più efficiente.
InterlockedExchangeAdd viene implementato inline dal compilatore quando appropriato e possibile. Non richiede un blocco di rotazione e può quindi essere usato in modo sicuro sui dati di paging.
InterlockedExchangeAdd è atomico solo rispetto ad altre chiamateInterlocked.
Le operazioni interlocked non possono essere usate nella memoria non memorizzata nella cache.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
libreria | OneCoreUAP.lib in Windows 10 |
IRQL | Qualsiasi livello |