Condividi tramite


Funzione KeTryToAcquireSpinLockAtDpcLevel (wdm.h)

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

Sintassi

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

Parametri

[in, out] SpinLock

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

Valore restituito

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

Osservazioni

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

Se il blocco di selezione 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 selezione, usare KeAcquireSpinLockAtDpcLevel.

Per altre informazioni sui blocchi di selezione, vedere Spin Locks.

Fabbisogno

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 HwStorPortProhibitedDDIs(storport), SpinLock(wdm), SpinlockRelease(wdm)

Vedere anche

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock