Freigeben über


ExAcquireSpinLockSharedAtDpcLevel-Funktion (wdm.h)

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

Syntax

void ExAcquireSpinLockSharedAtDpcLevel(
  PEX_SPIN_LOCK SpinLock
);

Parameter

SpinLock

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

Rückgabewert

Keine

Bemerkungen

Beim Einstieg in diese Routine muss der Aufrufer unter 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 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
Unterstützte Mindestversion (Client) Windows Vista SP1
Kopfzeile wdm.h
IRQL IRQL >= DISPATCH_LEVEL

Weitere Informationen

ExReleaseSpinLockSharedFromDpcLevel