ExAcquireSpinLockExclusive-Funktion (wdm.h)

Die ExAcquireSpinLockExclusive-Routine ruft eine Drehsperre für den exklusiven Zugriff durch den Aufrufer ab und hebt die IRQL auf DISPATCH_LEVEL.

Syntax

KIRQL ExAcquireSpinLockExclusive(
  PEX_SPIN_LOCK SpinLock
);

Parameter

SpinLock

[in, out] Ein Zeiger auf die Drehsperre, die für exklusiven Zugriff abgerufen werden soll. Der Aufrufer darf diese Spin-Sperre nicht bereits besitzen.

Rückgabewert

ExAcquireSpinLockExclusive gibt den vorherigen IRQL-Wert zurück. Weitere Informationen finden Sie in den Hinweisen.

Hinweise

Beim Einstieg in diese Routine muss der Aufrufer unter IRQL <= DISPATCH_LEVEL ausgeführt werden. Diese Routine hebt den IRQL auf DISPATCH_LEVEL und gibt den ursprünglichen IRQL-Wert (beim Eintrag) zurück.

Rufen Sie die ExReleaseSpinLockExclusive-Routine auf, um die Drehsperre freizugeben. ExReleaseSpinLockExclusive stellt den IRQL auf den ursprünglichen Wert zurück, den es beim Eintrag in ExAcquireSpinLockExclusive hatte.

Eine Drehsperre ist eine 32-Bit-Variable vom Typ EX_SPIN_LOCK. Der Treiber muss den Speicher für die Spinsperre zuordnen und die Spinsperre auf 0 (null) initialisieren. Dieser Speicher muss sich im nicht ausgelagerten Systemspeicher befinden.

Der Aufrufer sollte die Drehsperre nur kurz halten, bevor sie losgelassen wird. Weitere Informationen finden Sie unter Einführung in Spin-Sperren.

Der rekursive Erwerb einer Drehsperre verursacht einen Deadlock und ist nicht zulässig.

Anforderungen

Anforderung Wert
Header wdm.h
IRQL IRQL <= DISPATCH_LEVEL

Weitere Informationen

ExReleaseSpinLockExclusive