opera
驱动牛犊
驱动牛犊
  • 注册日期2001-05-10
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2959回复:4

关于IoConnectInterrupt。

楼主#
更多 发布于:2001-06-29 16:04
在startdevice中,我得到了CmResourceTypeInterrupt。值如下:Interrupt vector 0000003B IRQL 16 Affinity 1 Mode 0 irqshare=1
然后我在startdevice调用的最后写了:
status = IoConnectInterrupt(&pdx->InterruptObject, (PKSERVICE_ROUTINE) OnInterrupt,(PVOID) pdx, NULL, vector, irql, irql, mode, irqshare, affinity, FALSE);
编译,安装都正常。但重起后2000系统死机,softice报错。
注释掉这一行后,安装重起后一切正常,端口读写等均正确。
这是怎么回事呢?这句话究竟干了什么,会出现这种问题?而且本来
我前面还有个函数写pci卡上的寄存器以启动中断,后来我都注释掉
了,还是一加这句就死机。
谢谢!

最新喜欢:

xiangshifuxiangs...
我是宝剑,我是火花。 我愿生如闪电般的耀亮, 我愿死如彗星般的迅忽。
SXJ
SXJ
驱动牛犊
驱动牛犊
  • 注册日期2001-05-02
  • 最后登录2008-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-29 20:59
这是因为你没有响应中断,并把中断清掉。
opera
驱动牛犊
驱动牛犊
  • 注册日期2001-05-10
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-06-29 21:35
什么意思?我有OnInterrupt函数,而且我没运行app启动dma啊,不该有中断到来。我是安装后就重起的,然后进入系统时死机,我的硬件不能那时来中断啊?
我把安装时初始化Interrupt的函数都注掉了,也就是没往硬件的Interrupt相关寄存器里写东西,还是启动就死机。难道是机器启动后就来了中断,OnInterrupt就响应了,因为OnInterrupt里确实可能有毛病,所以死机了?
我是宝剑,我是火花。 我愿生如闪电般的耀亮, 我愿死如彗星般的迅忽。
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-06-30 14:36
这句话是设定一个中断响应函数,指定该中断的各个属性。注意,在这个函数返回前,可能就有中断发生了。


  ResetDevice(pdx);
  status = IoConnectInterrupt(...);
  KeSynchronizeExecution(pdx->InterruptObject,
    (PKSYNCHRONIZE_ROUTINE) SetupDevice, pdx);
  
象这样,在ResetDevice中,你得复位设备,清除中断,然后在SetDevice中你向中断控制寄存器中写入控制字,由于这步有可能要使用一些在ISR中也要用得寄存器,所以使用KeSynchornizeExecution来同步执行
“萎软”,是Microsoft的小名!
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-07-02 15:48
opera同志:
你好!我今天下午在调试我的驱动程序时也同样遇到了这个问题。

驱动程序安装完毕后,不要启动,直接去设备属性中查看设备资源,在98/ME中断号不对,在2000中没有分配中断号。两者的I/O资源都是有的,中断号的申请,触发方式都是我的硬件设置的。

我不知道,你的错误表现形式是否和我的一样。
如果,你的问题解决了,也告诉我一声。谢了先!
游客

返回顶部