jonathanfoo
驱动牛犊
驱动牛犊
  • 注册日期2003-10-13
  • 最后登录2004-06-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:990回复:2

readfile以后没有转向DispatchRead,怪。

楼主#
更多 发布于:2004-02-13 15:38
我目前正在做数据采集PCI卡的驱动程序,发生以上的问题,我的想法是如下:
在设备开始采集数据之前,
在应用层调用Readfile同步读取设备的数据,
在控制转向驱动程序的DispatchRead例程后,
在DispatchRead例程的开始使能数据采集,
中断发生后,开始读取数据。

然而,我却遇到奇怪的现象,我使用softice在DispatchRead例程入口
处设置断点,确发现程序根本没有进入该例程,好像直接跳过了应用层
的Readfile函数,请问,这是为什么?
newhand
zhang_zf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-14
  • 最后登录2004-02-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-13 21:52
驱动程序中应在DriverEntry()中指明DispatchRead的入口地址,这样有Read IRP来时就去执行DispatchRead了。否则肯定不会去执行DispatchRead的。不知你的问题是不是在这里。
jonathanfoo
驱动牛犊
驱动牛犊
  • 注册日期2003-10-13
  • 最后登录2004-06-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-16 11:48
在DriverEntry中,我已经将IRP和相应的Dispatch函数挂接,

pDriverObject->MajorFunction[IRP_MJ_READ] = DispatchRead;

上述问题不是由这个原因产生的,有谁了解啊,真是怪怪怪。
newhand
游客

返回顶部