Freigeben über


ExAcquireSpinLockExclusiveAtDpcLevel-Funktion (wdm.h)

Die ExAcquireSpinLockExclusiveAtDpcLevel Routine ruft eine Spin lock für exklusiven Zugriff durch einen Aufrufer ab, der bereits bei IRQL >= DISPATCH_LEVEL ausgeführt wird.

Syntax

void ExAcquireSpinLockExclusiveAtDpcLevel(
  [in, out] PEX_SPIN_LOCK SpinLock
);

Parameter

[in, out] SpinLock

Ein Zeiger auf die Drehsperre zum Abrufen. Der Aufrufer darf diese Drehsperre nicht bereits besitzen.

Rückgabewert

Nichts

Bemerkungen

Bei der Eingabe in diese Routine muss der Aufrufer bei IRQL >= DISPATCH_LEVEL ausgeführt werden. Diese Routine ändert die IRQL nicht.

Um die Drehsperre freizugeben, ruft der Treiber die ExReleaseSpinLockExclusiveFromDpcLevel Routine auf.

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

Siehe auch

ExReleaseSpinLockExclusiveFromDpcLevel