Função KeAcquireInStackQueuedSpinLockForDpc (wdm.h)
A rotina KeAcquireInStackQueuedSpinLockForDpc adquire um bloqueio de rotação enfileirado para um DPC encadeado.
void KeAcquireInStackQueuedSpinLockForDpc(
PKSPIN_LOCK SpinLock,
PKLOCK_QUEUE_HANDLE LockHandle
);
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.
Nenhum
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.