Hello,
I’m trying to disassociate an ISR and its interrupt object in this way:
KCFdcDevice::~KCFdcDevice()
{
m_Buffer.Invalidate();
delete m_pFdcInfo;
m_IoPortDma1.Invalidate();
m_IoPortDma2.Invalidate();
m_IoPortDma3.Invalidate();
m_Dma.Invalidate();
m_Irq.Disconnect();
ReleaseResources(*m_RegPath);
delete m_RegPath;
}
But m_Irq.Disconnect() produce nothing - i cannot use IRQ after the driver
was unloaded.
Can you advise - what is the problem?
This is legacy code for an NT4 style driver. For this type of driver, the
underlying system calls are obsolete on Windows 2000 and higher. For
Windows 2000 and higher, I suggest a WDM driver. That said, from my
experience, NT4 drivers should still work.
From what you describe, it seems as if the interrupt resource is not being
properly released.
Please contact Compuware Technical Support for further assistance with
this problem. E-Mail: xxxxx@compuware.com
Steve Smith
http://www.compuware.com/products/driverstudio/