Freigeben über


InterlockedExchangeAdd-Funktion (wdm.h)

Die InterlockedExchangeAdd Routine addiert einen Wert zu einer bestimmten ganzen Zahl als atomischen Vorgang und gibt den ursprünglichen Wert der angegebenen ganzzahl zurück.

Syntax

LONG InterlockedExchangeAdd(
  [in, out] LONG volatile *Addend,
  [in]      LONG          Value
);

Parameter

[in, out] Addend

Ein Zeiger auf eine ganzzahlige Variable.

[in] Value

Gibt den Wert an, der Addendhinzugefügt werden soll.

Rückgabewert

InterlockedExchangeAdd gibt den ursprünglichen Wert der Addend Variable zurück, wenn der Aufruf aufgetreten ist.

Bemerkungen

InterlockedExchangeAdd sollte anstelle von ExInterlockedAddUlong- verwendet werden, da es sowohl schneller als auch effizienter ist.

InterlockedExchangeAdd vom Compiler inline implementiert wird, falls zutreffend und möglich. Es ist keine Drehsperre erforderlich und kann daher sicher auf seitenfähigen Daten verwendet werden.

InterlockedExchangeAdd ist nur in Bezug auf andere InterlockedXxx Aufrufe atomar.

Interlocked-Vorgänge können nicht für nicht zwischengespeicherten Arbeitsspeicher verwendet werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
Library OneCoreUAP.lib unter Windows 10
IRQL- Beliebige Ebene

Siehe auch

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement-

InterlockedIncrement-