Compartilhar via


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)

Confira também

IoConnectInterrupt

IoDeleteController

IoDeleteDevice

KINTERRUPT