Compartilhar via


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)

Confira também

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock