Freigeben über


ExAcquireSpinLockSharedAtDpcLevel-Funktion (wdm.h)

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

Syntax

void ExAcquireSpinLockSharedAtDpcLevel(
  PEX_SPIN_LOCK SpinLock
);

Parameter

SpinLock

[in, out] Ein Zeiger auf die Drehungssperre, die für den freigegebenen Zugriff erworben werden soll. 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 ExReleaseSpinLockSharedFromDpcLevel 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
mindestens unterstützte Client- Windows Vista SP1
Header- wdm.h
IRQL- IRQL->= DISPATCH_LEVEL

Siehe auch

ExReleaseSpinLockSharedFromDpcLevel