Função ExAcquireSpinLockSharedAtDpcLevel (wdm.h)

A rotina ExAcquireSpinLockSharedAtDpcLevel adquire um bloqueio de rotação para acesso compartilhado por um chamador que já está em execução em IRQL >= DISPATCH_LEVEL.

Sintaxe

void ExAcquireSpinLockSharedAtDpcLevel(
  PEX_SPIN_LOCK SpinLock
);

Parâmetros

SpinLock

[in, out] Um ponteiro para o bloqueio de rotação a ser adquirido para acesso compartilhado. O chamador ainda não deve possuir esse bloqueio de rotação.

Retornar valor

Nenhum

Comentários

Na entrada dessa rotina, o chamador deve estar em execução em IRQL >= DISPATCH_LEVEL. Essa rotina não altera o IRQL.

Para liberar o bloqueio de rotação, o driver chama a rotina ExReleaseSpinLockSharedFromDpcLevel .

Um bloqueio de rotação é uma variável de 32 bits do tipo EX_SPIN_LOCK. O driver deve alocar o armazenamento para o bloqueio de rotação e inicializar o bloqueio de rotação como zero. Esse armazenamento deve estar localizado na memória de espaço do sistema nãopagada.

O chamador deve manter o bloqueio de rotação apenas brevemente antes de liberá-lo. Para obter mais informações, consulte Introdução aos bloqueios de rotação.

A aquisição recursiva de um bloqueio de rotação causa deadlock e não é permitida.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista SP1
Cabeçalho wdm.h
IRQL IRQL >= DISPATCH_LEVEL

Confira também

ExReleaseSpinLockSharedFromDpcLevel