Freigeben über


KeTryToAcquireSpinLockAtDpcLevel-Funktion (wdm.h)

Die KeTryToAcquireSpinLockAtDpcLevel-Routine versucht, bei DISPATCH_LEVEL eine Drehsperre zu erhalten.

Syntax

BOOLEAN KeTryToAcquireSpinLockAtDpcLevel(
  [in, out] PKSPIN_LOCK SpinLock
);

Parameter

[in, out] SpinLock

Gibt die abzurufende Drehsperre an. Die Spinsperre muss bereits von KeInitializeSpinLock initialisiert worden sein.

Rückgabewert

KeTryToAcquireSpinLockAtDpcLevel gibt TRUE zurück, wenn die Spinsperre abgerufen wurde, und FALSE , wenn die Spinsperre bereits gehalten wird und nicht abgerufen werden kann.

Hinweise

Wenn die angegebene Spinsperre nicht ausgelastet ist, ruft die KeTryToAcquireSpinLockAtDpcLevel-Routine die Spinsperre ab (Details finden Sie unter KeAcquireSpinLock ) und gibt TRUE zurück. Wenn die Spinsperre bereits abgerufen wurde, gibt die Routine sofort FALSE zurück.

Wenn die Spinsperre abgerufen wird, kann der Aufrufer sie mithilfe der KeReleaseSpinLock-Routine freigeben.

Wenn der Treiber blockieren soll, wenn er die Drehsperre nicht abrufen kann, verwenden Sie stattdessen KeAcquireSpinLockAtDpcLevel .

Weitere Informationen zu Spinlocks finden Sie unter Spinlocks.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Server 2003 mit Service Pack 1 (SP1) und höheren Versionen von Windows.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), SpinLock(wdm), SpinlockRelease(wdm)

Weitere Informationen

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock