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

[dentro, fora] 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 de KLOCK_QUEUE_HANDLE que recebe o identificador de fila de bloqueio. Passe esse valor para a rotina dekereleaseInStackQueuedSpinLockForDpcquando você libera o bloqueio de rotação na fila.

Valor de retorno

Nenhum

Observações

Uma rotinaCustomThreadedDpc pode usar KeAcquireInStackQueuedSpinLockForDpc para adquirir um bloqueio de rotação na fila. Se CustomThreadedDpc estiver em execução 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 na fila.

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

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
cabeçalho wdm.h
regras de conformidade de DDI HwStorPortProhibitedDIs(storport)

Consulte também

CustomThreadedDpc

KLOCK_QUEUE_HANDLE

KeInitializeSpinLock

KeReleaseInStackQueuedSpinLockForDpc