VOID
IoDisconnectInterrupt(
IN PKINTERRUPT InterruptObject
);
IoDisconnectInterrupt releases a device driver’s set of interrupt object(s) when the driver is being unloaded.
A driver should disable interrupts from its device before it calls IoDisconnectInterrupt.
If the driver stored the pointer to its interrupt object(s) in the device extension of its device object or in the controller extension of its controller object, it must call IoDisconnectInterrupt before it calls IoDeleteDevice or IoDeleteController.
Callers of IoDisconnectInterrupt must be running at IRQL PASSIVE_LEVEL.