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 conectou anteriormente a interrupção ou interrupções.
Valor de retorno
Nenhum
Observações
O driver deve configurar o dispositivo para emitir interrupções somente quando essas interrupções estiverem conectadas. Falha ao impedir que um dispositivo emitisse 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 em 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 disparada. 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 tiver armazenado o ponteiro para seus objetos de interrupção na extensão do dispositivo de seu objeto de dispositivo ou na extensão do controlador de seu objeto controlador, ele deverá chamar IoDisconnectInterrupt antes de chamar IoDeleteDevice ou IoDeleteController.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm) |