wyhero
驱动牛犊
驱动牛犊
  • 注册日期2008-03-17
  • 最后登录2016-02-02
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望563点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
阅读:1305回复:0

请教,关于驱动和应用层通信,系统不响应

楼主#
更多 发布于:2011-06-21 15:58
各位老大,我想监测D:\test目录下所有文件的读写,我用filespy改了下,在irp_mj_write irp_mj_read中过滤写文件的路径,如果符合要求,则通知应用层,由应用层决定是否允许进行操作,我的做法如下:
我在应用层使用DeviceIoControl的overlap方式给驱动发消息,在驱动中响应并返回status_pending,在线程中等待完成条件我在irp_mj_write和irp_mj_read中判断文件路径,如果满足条件,则创建读写等待线程及等待事件等待应用层的响应,并设置DeviceIoControl的完成条件,返回status_pending。在应用层弹出对话框等待应用层响应,并把响应结果返回到驱动中,设置等待事件,让读写线程继续执行以完成操作。
现在的情况是在应用层弹出对话框后,双击我的电脑和双击D盘或D盘上的文件没有响应,如果双击C盘的文件则可以正常打开,桌面上的窗口之间也可以互相切换
请老大们指点一下,这可能是什么原因?先谢谢了
 
游客

返回顶部