hell74111
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望322点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2017回复:4

求救:用写字板打开一个txt文件,再保存

楼主#
更多 发布于:2009-08-03 13:46
    最近做文件的镜像,发现一个很奇怪的问题:

  假设原来有个D:\ a.txt  文件,然后我用写字板打开这个文件,什么都不做,再保存该文件,发现驱动会捕获以下操作:
  
  IRP_MJ_CREATE:
      (其中CreateOperation的标志位为:FILE_CREATE)
  还有若干个IRP_MJ_WRITE操作


  总体就是:只要我用写字板打开一个txt文件,然后保存,不管有没有进行操作,都会捕获到新建文件的操作。
不明白的是:这个文件原来就是存在的,那它后面的新建文件怎么会成功呢?没有名字冲突吗?
  
lcjoo
驱动牛犊
驱动牛犊
  • 注册日期2007-02-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分39分
  • 威望351点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-08-03 21:04
回 楼主(hell74111) 的帖子
怎么不可以
!!
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
板凳#
发布于:2009-08-03 22:15
not only MJ_CREATE IRP is used for creating a new file, but also it is used for opening an existing file or even deleting a file. Check MS$ document for more details.
guard366
驱动牛犊
驱动牛犊
  • 注册日期2009-04-30
  • 最后登录2010-10-21
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望351点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-08-04 11:02
英语很牛
成熟的产品!
hell74111
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望322点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-08-05 13:56
这个以已经解决了,写字板打开文件在驱动截获时,是FILE_OVERWRITE_IF,覆盖的方式打开的。谢谢各位
游客

返回顶部