InterlockedExchangeAdd-Funktion (wdm.h)
Die InterlockedExchangeAdd-Routine fügt einer angegebenen ganzen Zahl einen Wert als atomischen Vorgang hinzu und gibt den ursprünglichen Wert der angegebenen ganzzahligen Zahl 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 zu Addend hinzugefügt werden soll.
Rückgabewert
InterlockedExchangeAdd gibt den ursprünglichen Wert der Addend-Variablen zurück, wenn der Aufruf erfolgte.
Hinweise
InterlockedExchangeAdd sollte anstelle von ExInterlockedAddUlong verwendet werden, da es sowohl schneller als auch effizienter ist.
InterlockedExchangeAdd wird nach Bedarf vom Compiler inline implementiert. Es erfordert keine Drehsperre und kann daher sicher für ausgelagerte Daten verwendet werden.
InterlockedExchangeAdd ist nur in Bezug auf andere interlockedXxx-Aufrufe atomar.
Ineinandergreifende Vorgänge können nicht für nicht zwischengespeicherten Arbeitsspeicher verwendet werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Bibliothek | OneCoreUAP.lib auf Windows 10 |
IRQL | Beliebige Ebene |