Freigeben über


KeReleaseSpinLockFromDpcLevel-Makro (wdm.h)

Die KeReleaseSpinLockFromDpcLevel Routine gibt eine Drehsperre für Führungskräfte frei, ohne die IRQL zu ändern.

Syntax

VOID KeReleaseSpinLockFromDpcLevel(
  [in, out] PKSPIN_LOCK SpinLock
);

Parameter

[in, out] SpinLock

Zeiger auf eine Führungskraft KSPIN_LOCK Drehsperre, für die der Anrufer den Speicher bereitstellt.

Rückgabewert

Nichts

Bemerkungen

Treiber rufen KeReleaseSpinLockFromDpcLevel auf, um eine Drehungssperre freizugeben, die durch Aufrufen KeAcquireSpinLockAtDpcLevelabgerufen wird.

Es ist ein Fehler, KeReleaseSpinLockFromDpcLevel aufzurufen, wenn die angegebene Drehsperre durch Aufrufen KeAcquireSpinLock abgerufen wurde, da die ursprüngliche IRQL des Aufrufers nicht wiederhergestellt wird, was zu Deadlocks oder schwerwiegenden Seitenfehlern führen kann.

Weitere Informationen zu Drehsperren finden Sie unter Spin Locks.

Anforderungen

Anforderung Wert
Zielplattform- universell
Header- wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), SpinLockSafe(storport)

Siehe auch

KeAcquireInStackQueuedSpinLockAtDpcLevel

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KefReleaseSpinLockFromDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock

KeTryToAcquireSpinLockAtDpcLevel

Drehsperren