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 |