Partilhar via


Função KeTryToAcquireSpinLockAtDpcLevel (wdm.h)

O keTryToAcquireSpinLockAtDpcLevel tentativas de rotina de 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.

Valor de retorno

KeTryToAcquireSpinLockAtDpcLevel retorna VERDADEIRO 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.

Observações

Se o bloqueio de rotação especificado não estiver ocupado, a rotina KeTryToAcquireSpinLockAtDpcLevel adquire 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á imediatamente false.

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
de cliente com suporte mínimo Disponível no Windows Server 2003 com Service Pack 1 (SP1) e versões posteriores do Windows.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), SpinLock(wdm), SpinlockRelease(wdm)

Consulte também

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock