Função IoDisconnectInterrupt (wdm.h)
A rotina IoDisconnectInterrupt libera o conjunto de objetos de interrupção de um driver de dispositivo quando o dispositivo é pausado ou removido ou quando o driver está sendo descarregado.
Sintaxe
void IoDisconnectInterrupt(
[in] PKINTERRUPT InterruptObject
);
Parâmetros
[in] InterruptObject
Um ponteiro para uma estrutura KINTERRUPT . O chamador obteve esse ponteiro da chamada IoConnectInterrupt que anteriormente conectou a interrupção ou interrupções.
Retornar valor
Nenhum
Comentários
O driver deve configurar o dispositivo para emitir interrupções somente quando essas interrupções estiverem conectadas. Falha ao impedir que um dispositivo emita interrupções quando as interrupções são desconectadas pode causar instabilidade no sistema. Por exemplo, se um dispositivo compartilhar uma linha de interrupção disparada por nível com outros dispositivos e o dispositivo emitir uma solicitação de interrupção quando as interrupções do dispositivo forem desconectadas, os outros dispositivos na linha não reconhecerão a interrupção e a interrupção continuará sendo acionada. Antes de chamar IoDisconnectInterrupt, o driver deve configurar o dispositivo para interromper a emissão de interrupções. Depois de chamar IoConnectInterrupt, o driver deve configurar o dispositivo para iniciar a emissão de interrupções.
Se o driver armazenou o ponteiro para seus objetos de interrupção na extensão de dispositivo de seu objeto de dispositivo ou na extensão do controlador de seu objeto controlador, ele deve chamar IoDisconnectInterrupt antes de chamar IoDeleteDevice ou IoDeleteController.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm) |