Condividi tramite


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

Vedere anche

ExInterlockedAddLargeInteger

exInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement