Función ExAcquireSpinLockExclusiveAtDpcLevel (wdm.h)
La rutina ExAcquireSpinLockExclusiveAtDpcLevel adquiere un bloqueo de número para el acceso exclusivo por un llamador que ya se ejecuta en IRQL >= DISPATCH_LEVEL.
Sintaxis
void ExAcquireSpinLockExclusiveAtDpcLevel(
[in, out] PEX_SPIN_LOCK SpinLock
);
Parámetros
[in, out] SpinLock
Puntero al bloqueo de número que se va a adquirir. El autor de la llamada aún no debe poseer este bloqueo de número.
Valor devuelto
None
Observaciones
Al entrar en esta rutina, el autor de la llamada debe ejecutarse en IRQL >= DISPATCH_LEVEL. Esta rutina no cambia el IRQL.
Para liberar el bloqueo de número, el controlador llama a la rutina ExReleaseSpinLockExclusiveFromDpcLevel .
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 número en cero. Este almacenamiento debe encontrarse en memoria de espacio del sistema no paginado.
El autor de la llamada debe contener el bloqueo de giro solo brevemente antes de liberarlo. Para obtener más información, consulte 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 |