Removendo um ISR
Os drivers podem remover um ISR registrado com IoConnectInterruptEx chamando IoDisconnectInterruptEx. IoDisconectInterruptEx usa um único parâmetro Parameters , que é um ponteiro para uma estrutura IO_DISCONNECT_INTERRUPT_PARAMETERS . Os valores usados para os membros da estrutura dependem da versão usada para registrar o ISR.
O driver deve salvar determinadas informações ao registrar o ISR para removê-lo posteriormente. Para as versões CONNECT_LINE_BASED e CONNECT_FULLY_SPECIFIED, o driver deve salvar o valor fornecido no membro LineBased.InterruptObject ou FullySpecified.InterruptObject do IO_CONNECT_INTERRUPT_PARAMETERS. Para a versão CONNECT_MESSAGE_BASED, o driver deve salvar os valores fornecidos nos membros Version e MessageBased.ConnectionContext do IO_CONNECT_INTERRUPT_PARAMETERS.