Condividi tramite


Funzione KeTryToAcquireSpinLockAtDpcLevel (wdm.h)

La routine KeTryToAcquireSpinLockAtDpcLevel tenta di acquisire un blocco spin in DISPATCH_LEVEL.

Sintassi

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

Parametri

[in, out] SpinLock

Specifica il blocco di rotazione da acquisire. Il blocco di spin deve essere già stato inizializzato da KeInitializeSpinLock.

Valore restituito

KeTryToAcquireSpinLockAtDpcLevel restituisce TRUE se il blocco di spin è stato acquisito e FALSE se il blocco spin è già in corso e non può essere acquisito.

Commenti

Se il blocco di spin specificato non è occupato, la routine KeTryToAcquireSpinLockAtDpcLevel acquisisce il blocco spin (vedere KeAcquireSpinLock per i dettagli) e restituisce TRUE. Se il blocco di spin è già stato acquisito, la routine restituisce immediatamente FALSE.

Se il blocco di spin viene acquisito, il chiamante può rilasciarlo usando la routine KeReleaseSpinLock .

Se si vuole che il driver blocchi quando non è in grado di acquisire il blocco di spin, usare KeAcquireSpinLockAtDpcLevel .

Per altre informazioni sui blocchi di spin, vedere Blocchi di spin.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive di Windows.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport), SpinLock(wdm), SpinlockRelease(wdm)

Vedi anche

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock