Función ExAcquireSpinLockExclusive (wdm.h)

La rutina ExAcquireSpinLockExclusive adquiere un bloqueo de número para el acceso exclusivo por parte del autor de la llamada y genera irQL para DISPATCH_LEVEL.

Sintaxis

KIRQL ExAcquireSpinLockExclusive(
  PEX_SPIN_LOCK SpinLock
);

Parámetros

SpinLock

[in, out] Puntero al bloqueo de número que se va a adquirir para el acceso exclusivo. El autor de la llamada aún no debe poseer este bloqueo de número.

Valor devuelto

ExAcquireSpinLockExclusive devuelve el valor IRQL anterior. Para obtener más información, vea la sección Comentarios.

Comentarios

Al entrar a esta rutina, el autor de la llamada debe ejecutarse en IRQL <= DISPATCH_LEVEL. Esta rutina genera irQL para DISPATCH_LEVEL y devuelve el valor IRQL original (entrada).

Para liberar el bloqueo de número, llame a la rutina ExReleaseSpinLockExclusive . ExReleaseSpinLockExclusive restaura el IRQL al valor original que tenía en la entrada a ExAcquireSpinLockExclusive.

Un bloqueo de número es una variable de 32 bits de tipo EX_SPIN_LOCK. El controlador debe asignar el almacenamiento para el bloqueo de número e inicializar el bloqueo de giro en cero. Este almacenamiento debe encontrarse en memoria de espacio del sistema no paginada.

El autor de la llamada debe contener el bloqueo de número solo brevemente antes de liberarlo. Para obtener más información, vea Introducción a los bloqueos de número.

La adquisición recursiva de un bloqueo de número provoca interbloqueo y no se permite.

Requisitos

Requisito Valor
Header wdm.h
IRQL IRQL <= DISPATCH_LEVEL

Consulte también

ExReleaseSpinLockExclusive