Función IoDisconnectInterrupt (wdm.h)

La rutina IoDisconnectInterrupt libera el conjunto de objetos de interrupción de un controlador de dispositivo cuando el dispositivo se pausa o quita, o cuando se descarga el controlador.

Sintaxis

void IoDisconnectInterrupt(
  [in] PKINTERRUPT InterruptObject
);

Parámetros

[in] InterruptObject

Puntero a una estructura KINTERRUPT . El autor de la llamada obtuvo este puntero de la llamada a IoConnectInterrupt que conectó previamente la interrupción o las interrupciones.

Valor devuelto

None

Observaciones

El controlador debe configurar el dispositivo para emitir interrupciones solo cuando estas interrupciones están conectadas. Si no se impide que un dispositivo emita interrupciones cuando las interrupciones están desconectadas, puede provocar inestabilidad del sistema. Por ejemplo, si un dispositivo comparte una línea de interrupción desencadenada por el nivel con otros dispositivos y el dispositivo emite una solicitud de interrupción cuando se desconectan las interrupciones del dispositivo, los demás dispositivos de la línea no reconocerán la interrupción y la interrupción continuará activando. Antes de llamar a IoDisconnectInterrupt, el controlador debe configurar el dispositivo para detener la emisión de interrupciones. Después de llamar a IoConnectInterrupt, el controlador debe configurar el dispositivo para iniciar la emisión de interrupciones.

Si el controlador almacenó el puntero a sus objetos de interrupción en la extensión del dispositivo de su objeto de dispositivo o en la extensión del controlador de su objeto de controlador, debe llamar a IoDisconnectInterrupt antes de llamar a IoDeleteDevice o IoDeleteController.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm)

Consulte también

IoConnectInterrupt

IoDeleteController

IoDeleteDevice

KINTERRUPT