阅读:995回复:0
驱动加载后,收不到READ请求;filemon显示attach失败
我的驱动是把对一个卷的请求转向到另一个卷的指定文件夹中。
在资源管理器中,卷信息,目录信息,文件信息均显示正常。可是打开文件总是出问题。如:双击文本文件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] |
|