Função KeTryToAcquireSpinLockAtDpcLevel (wdm.h)
A rotina KeTryToAcquireSpinLockAtDpcLevel tenta adquirir um bloqueio de rotação em DISPATCH_LEVEL.
Sintaxe
BOOLEAN KeTryToAcquireSpinLockAtDpcLevel(
[in, out] PKSPIN_LOCK SpinLock
);
Parâmetros
[in, out] SpinLock
Especifica o bloqueio de rotação a ser adquirido. O bloqueio de rotação já deve ter sido inicializado por KeInitializeSpinLock.
Retornar valor
KeTryToAcquireSpinLockAtDpcLevel retornará TRUE se o bloqueio de rotação tiver sido adquirido e FALSE se o bloqueio de rotação já estiver sendo mantido e não puder ser adquirido.
Comentários
Se o bloqueio de rotação especificado não estiver ocupado, a rotina KeTryToAcquireSpinLockAtDpcLevel adquirirá o bloqueio de rotação (consulte KeAcquireSpinLock para obter detalhes) e retornará TRUE. Se o bloqueio de rotação já tiver sido adquirido, a rotina retornará FALSE imediatamente.
Se o bloqueio de rotação for adquirido, o chamador poderá liberá-lo usando a rotina KeReleaseSpinLock .
Se você quiser que o driver bloqueie quando não for possível adquirir o bloqueio de rotação, use KeAcquireSpinLockAtDpcLevel .
Para obter mais informações sobre bloqueios de rotação, consulte Spin Locks.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Server 2003 com Service Pack 1 (SP1) e versões posteriores do Windows. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
Regras de conformidade da DDI | HwStorPortProhibitedDIs(storport), SpinLock(wdm), SpinlockRelease(wdm) |