Función WdfInterruptReleaseLock (wdfinterrupt.h)
[Se aplica a KMDF y UMDF]
El método WdfInterruptReleaseLock finaliza una secuencia de código que se ejecuta en el DIRQL del dispositivo mientras mantiene el bloqueo de número de un objeto de interrupción.
En el caso de los objetos de interrupción de nivel pasivo, el método finaliza una secuencia de código que se ejecuta en el nivel pasivo mientras mantiene el bloqueo pasivo de un objeto de interrupción.
Sintaxis
void WdfInterruptReleaseLock(
[in] WDFINTERRUPT Interrupt
);
Parámetros
[in] Interrupt
Identificador de un objeto de interrupción de marco.
Comentarios
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
El método WdfInterruptReleaseLock libera el bloqueo de número o el bloqueo de espera del objeto de interrupción especificado y devuelve el IRQL del procesador al nivel establecido en antes del controlador llamado WdfInterruptAcquireLock.
El controlador no puede llamar a WdfInterruptReleaseLock antes de que el marco haya llamado a la función de devolución de llamada EvtInterruptEnable del controlador o después de que el marco haya llamado a la función de devolución de llamada EvtInterruptDisable del controlador.
Para obtener más información sobre el método WdfInterruptReleaseLock , vea Sincronizar código de interrupción.
Para obtener más información sobre el control de interrupciones en controladores basados en marcos, consulte Control de interrupciones de hardware.
Se debe llamar a este método en el DIRQL establecido por WdfInterruptAcquireLock.
Para interrupciones de nivel pasivo, el controlador debe llamar a WdfInterruptReleaseLock en IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfinterrupt.h (incluir Wdf.h) |
IRQL | vea la sección Comentarios. |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), WdfInterruptLock(kmdf), WdfInterruptLockRelease(kmdf) |