Freigeben über


InterlockedExchange-Funktion (wdm.h)

Die InterlockedExchange Routine legt eine ganzzahlige Variable auf einen bestimmten Wert als atomischen Vorgang fest.

Syntax

LONG InterlockedExchange(
  [in, out] LONG volatile *Target,
  [in]      LONG          Value
);

Parameter

[in, out] Target

Ein Zeiger auf eine Variable, die als Atomoperation auf den angegebenen Value festgelegt werden soll.

[in] Value

Gibt den Wert an, auf den die Variable festgelegt wird.

Rückgabewert

InterlockedExchange gibt den Wert der Variablen bei Target zurück, wenn der Aufruf aufgetreten ist.

Bemerkungen

InterlockedExchange sollte anstelle von ExInterlockedExchangeUlongverwendet werden, da es sowohl schneller als auch effizienter ist.

InterlockedExchange wird nach Bedarf und möglich vom Compiler inline implementiert. Es ist keine Drehsperre erforderlich und kann daher sicher auf seitenfähigen Daten verwendet werden.

Ein Aufruf von InterlockedExchange Routine 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-