// wdm.h
VOID IoDisconnectInterrupt(
[in] PKINTERRUPT InterruptObject
);
View the official Windows Driver Kit DDI reference
No description available.
The IoDisconnectInterrupt routine releases a device driver's set of interrupt object(s) when the device is paused or removed, or when the driver is being unloaded.
InterruptObject
[in]A pointer to a KINTERRUPT structure. The caller obtained this pointer from the IoConnectInterrupt call that previously connected the interrupt or interrupts.
The driver should configure the device to issue interrupts only when these interrupts are connected. Failure to prevent a device from issuing interrupts when the interrupts are disconnected might cause system instability. For example, if a device shares a level-triggered interrupt line with other devices, and the device issues an interrupt request when the device's interrupts are disconnected, the other devices on the line will not acknowledge the interrupt and the interrupt will continue to fire. Before calling IoDisconnectInterrupt, the driver should configure the device to stop issuing interrupts. After calling IoConnectInterrupt, the driver should configure the device to start issuing interrupts.
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.