我要响应IRQ=3中断 工程急需
//略.........
#define MY_IRQ 3
..............
class MyInt: public VHardwareInt
{
MyInt():VHardwareInt(MY_IRQ,0,0,0){};
virtual VOID OnHardwareInt(VMHANDLE);
}
class MyDecice: public VDevice
{
public:
MyInt*pIRQ;
virtual BOOL OnSysDynamicDeviceInit();
virtual BOOL OnSysDynamicDeviceExit();
virtual DWORD OnW32DeviceIoControl(PIOCTLPARAMS pParam);
}
//实现文件:
//略....
VOID MyInt::OnHardwareInt(VMHANDLE hVM)
{
dout<<" I am Waiting......"<<endl;
}
//略......
//pIRQ 在MyDevice 的初始化函数中初始化,并用hook()把IRQ=3与
OnHardwareInt()挂接
可是从来没有响应过请各位大侠帮我解决一下哦?
//略.........
#define MY_IRQ 3
..............
class MyInt: public VHardwareInt
{
MyInt():VHardwareInt(MY_IRQ,0,0,0){};
virtual VOID OnHardwareInt(VMHANDLE);
}
class MyDecice: public VDevice
{
public:
MyInt*pIRQ;
virtual BOOL OnSysDynamicDeviceInit();
virtual BOOL OnSysDynamicDeviceExit();
virtual DWORD OnW32DeviceIoControl(PIOCTLPARAMS pParam);
}
//实现文件:
//略....
VOID MyInt::OnHardwareInt(VMHANDLE hVM)
{
dout<<" I am Waiting......"<<endl;
}
//略......
//pIRQ 在MyDevice 的初始化函数中初始化,并用hook()把IRQ=3与
OnHardwareInt()挂接
可是从来没有响应过请各位大侠帮我解决一下哦?
解决方案 »
- VC 判断一个文件是否在打开使用
- 满分提问:TransparentBlt函数是不是不能用于JPG格式的图片,将其作透明处理?
- ATL, WTL, COM, ActiveX,OLE....,好难啊
- 出字符数组中不同的字符
- CListCtrl::FindItem为什么总是返回0?
- 急!急!急!如何修改服务器返回来的消息
- 滚动条问题,再开新贴! [只要回答,都有分]
- 急问高手:用inet打开某网页,存放这个网页的服务器响应时间较长,在响应的中途我想使inet停止,应该如何??先谢谢高手了
- 请教JavaScript高手,简单问题
- 关于画直线
- 如何将BSTR型转为LPCTSTR型?
- 怎样改变DIALOG上的BMP?
我曾在C写的VxD中成功做出ISR。VToolsD或DriverWorks中带的关于中断的范例程序肯定是没问题的。至于中断不能被响应,可考虑以下几点因素:
1.IRQ3是分配给COM2的。若你没在程序中写上PNP的代码,则若用此中断请求号,必先在BIOS设置中将COM2 Disalbe掉,并且将BIOS的关于中断请求号的PNP功能关闭,将IRQ3设置为Legacy ISA。
2.确认你的硬件确实产生中断请求。可用示波器观察。
3.如何验证中断请求未被响应?再ISR中使用dout可以吗?我不敢确信。常规的做法是,在ISR中调度一个事件,然后在该事件的处理函数中进行dout。ISR是时间紧迫的,不允许有dout这样的语句。