abc13271552
驱动小牛
驱动小牛
  • 注册日期2007-08-13
  • 最后登录2023-12-05
  • 粉丝0
  • 关注0
  • 积分34分
  • 威望552点
  • 贡献值0点
  • 好评度160点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:740回复:0

一个CreatFile的问题(十万火急)

楼主#
更多 发布于:2007-11-28 17:29
过程如下:
原来的驱动处理流程如下:
1,Create
2,Read
3.Close
4,Create
5。。。。。。。

这个是个顺序过程,现在我的过滤驱动在第3时,假设文件已关闭,此时我的过滤驱动把文件独占打开了,并进行操作了,会出现什么情况?

我的分析如下,大家帮看看:
Create是个同步的请求, 我的Create打开后返回,但文件其实可能
正被操作,此时上层的应用程序的Create请求,就返回false了。

我提出的解决方案如下:
当我的过滤驱动处理时, 我先把文件名记录下来,此时上层的应用程序下发的 IRP被我用信号量阻塞,等待我处理完成后,再下发这个irp.
 存在问题如下:
Create 这个是同步的,假设 A 发的irp被我的过滤驱动阻塞了,
随后的B,C 的 IRP不是也被阻塞了吗?系统看起来像死机了?

驱网无线,快乐无限
游客

返回顶部