freshwt
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2008-06-13
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:995回复:0

驱动加载后,收不到READ请求;filemon显示attach失败

楼主#
更多 发布于:2005-02-06 21:23
我的驱动是把对一个卷的请求转向到另一个卷的指定文件夹中。

在资源管理器中,卷信息,目录信息,文件信息均显示正常。可是打开文件总是出问题。如:双击文本文件1.txt,记事本打开,弹出消息框显示“系统可分配的内存不足”;双击可执行文件a.exe,弹出消息框“可执行文件初始化失败,出错码xxxxxxxx”。到ntstatus.h中查这个出错码,对应STATUS_PAGE_FAULT。
查看驱动程序打印出的调试信息,根本没有收到任何IRP_MJ_READ请求,fast_io_read也没有收到任何请求。

右键单击1.txt,点打开方式,选择用IE浏览器打开,在IE浏览器中正常显示出这个文本文件的内容。驱动打印的调试信息显示收到过IRP_MJ_READ请求。

在控制台下,输入命令type 1.txt,正确打印出文本内容。自己写一个win32程序,用ReadFile函数也能读出正确的数据。驱动程序打印的调试信息均显示收到过IRP_MJ_READ请求。

为什么在资源管理器下会发生这样的错误?感觉和内存管理器有关,可即使是页错误,也该有发往文件驱动的READ请求呀。

另外,如果用filemon进行监视,总是返回attach fault!

请大家讨论讨论,问题出在哪里?

马上就是年三十了,祝大家新年好! :)

[编辑 -  2/6/05 by  freshwt]
游客

返回顶部