Auf Englisch lesen

Freigeben über


KeTryToAcquireSpinLockAtDpcLevel-Funktion (wdm.h)

Die KeTryToAcquireSpinLockAtDpcLevel Routine versucht, eine Drehsperre bei DISPATCH_LEVEL zu erwerben.

Syntax

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

Parameter

[in, out] SpinLock

Gibt die drehungssperre an, die erworben werden soll. Die Drehsperre muss bereits von KeInitializeSpinLockinitialisiert worden sein.

Rückgabewert

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

Bemerkungen

Wenn die angegebene Drehsperre nicht ausgelastet ist, ruft die KeTryToAcquireSpinLockAtDpcLevel-Routine die Drehsperre ab (siehe KeAcquireSpinLock) und gibt TRUEzurück. Wenn die Drehsperre bereits erworben wurde, gibt die Routine sofort FALSEzurück.

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

Wenn der Treiber blockiert werden soll, wenn die Drehsperre nicht abgerufen werden kann, verwenden Sie stattdessen KeAcquireSpinLockAtDpcLevel.

Weitere Informationen zu Drehsperren finden Sie unter Spin Locks.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Server 2003 mit Service Pack 1 (SP1) und höheren Versionen von Windows.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), SpinLock(wdm), SpinlockRelease(wdm)

Siehe auch

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock