Compartilhar via


Função KeAcquireInStackQueuedSpinLockForDpc (wdm.h)

A rotina KeAcquireInStackQueuedSpinLockForDpc adquire um bloqueio de rotação enfileirado para um DPC encadeado.

Sintaxe

void KeAcquireInStackQueuedSpinLockForDpc(
  PKSPIN_LOCK         SpinLock,
  PKLOCK_QUEUE_HANDLE LockHandle
);

Parâmetros

SpinLock

[in, out] Ponteiro para o bloqueio de rotação a ser adquirido como um bloqueio de rotação enfileirado. Você já deve ter inicializado o bloqueio de rotação chamando KeInitializeSpinLock.

LockHandle

[out] Ponteiro para uma estrutura KLOCK_QUEUE_HANDLE que recebe o identificador da fila de bloqueio. Passe esse valor para a rotina KeReleaseInStackQueuedSpinLockForDpc ao liberar o bloqueio de rotação enfileirado.

Retornar valor

Nenhum

Comentários

Uma rotina CustomThreadedDpc pode usar KeAcquireInStackQueuedSpinLockForDpc para adquirir um bloqueio de rotação enfileirado. Se CustomThreadedDpc estiver sendo executado em IRQL = PASSIVE_LEVEL, KeAcquireInStackQueuedSpinLockForDpc elevará o IRQL atual para DISPATCH_LEVEL. Se CustomThreadedDpc já estiver em execução em IRQL = DISPATCH_LEVEL, KeAcquireInStackQueuedSpinLockForDpc não alterará o IRQL atual.

Para obter mais informações sobre bloqueios de rotação enfileirados, consulte Bloqueios de rotação enfileirados.

Chame KeReleaseInStackQueuedSpinLockForDpc para liberar o bloqueio de rotação adquirido por KeAcquireInStackQueuedSpinLockForDpc .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Cabeçalho wdm.h
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport)

Confira também

CustomThreadedDpc

KLOCK_QUEUE_HANDLE

KeInitializeSpinLock

KeReleaseInStackQueuedSpinLockForDpc