ExAcquireSpinLockExclusive-Funktion (wdm.h)
Die ExAcquireSpinLockExclusive Routine ruft eine Drehsperre für den exklusiven Zugriff durch den Aufrufer ab und löst die IRQL auf DISPATCH_LEVEL aus.
Syntax
KIRQL ExAcquireSpinLockExclusive(
PEX_SPIN_LOCK SpinLock
);
Parameter
SpinLock
[in, out] Ein Zeiger auf die Drehsperre, um exklusiven Zugriff zu erhalten. Der Aufrufer darf diese Drehsperre nicht bereits besitzen.
Rückgabewert
ExAcquireSpinLockExclusive den vorherigen IRQL-Wert zurück. Weitere Informationen finden Sie in den Hinweisen.
Bemerkungen
Bei der Eingabe in diese Routine muss der Aufrufer bei IRQL <= DISPATCH_LEVEL ausgeführt werden. Diese Routine löst die IRQL auf DISPATCH_LEVEL aus und gibt den ursprünglichen IRQL-Wert (on-entry) zurück.
Rufen Sie zum Freigeben der Drehsperre die ExReleaseSpinLockExclusive Routine auf. ExReleaseSpinLockExclusive stellt die IRQL auf den ursprünglichen Wert zurück, den sie für den Eintrag auf ExAcquireSpinLockExclusivehatte.
Eine Drehsperre ist eine 32-Bit-Variable vom Typ EX_SPIN_LOCK. Der Treiber muss den Speicher für die Drehsperre zuordnen und die Drehsperre auf Null initialisieren. Dieser Speicher muss sich im nicht ausgelagerten Systemspeicher befinden.
Der Anrufer sollte die Drehsperre nur kurz halten, bevor er losgelassen wird. Weitere Informationen finden Sie unter Einführung in Spin Locks.
Rekursives Erwerben einer Drehsperre bewirkt deadlock und ist nicht zulässig.
Anforderungen
Anforderung | Wert |
---|---|
Header- | wdm.h |
IRQL- | IRQL-<= DISPATCH_LEVEL |