cxl7980
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2012-03-07
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望17点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1219回复:4

文件操作,实在想不明白

楼主#
更多 发布于:2005-01-31 16:38
写了个驱动,想让它以共享读写方式打开一些文件,以防止用户无意中删除这些文件,通过IOCTL命令告诉驱动打开这些文件和关闭这些文件,所有HANDLE存储在extersion中,结果关闭发送IOCTL的EXE,打开的文件照样能删除,只在启动EXE的情况下起作用,实在搞不明白,这些文件打开没有关闭过呀,驱动开机加载,从来没卸载,它怎么把这些句柄关闭的?????
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-31 17:25
请问一下,你停止再启动exe,文件可以删掉吗?
在交流中学习。。。
freshwt
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2008-06-13
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-31 20:43
你的驱动只是保存了这些HANDLE,并没有增加他们的参考计数。因此exe文件一退出,这些HANDLE就被销毁了。
可以在驱动中再参考一次。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-01 09:46
你的驱动只是保存了这些HANDLE,并没有增加他们的参考计数。因此exe文件一退出,这些HANDLE就被销毁了。
可以在驱动中再参考一次。

增加:ObReferenceObject
减少:ObDereferenceObject
在交流中学习。。。
cxl7980
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2012-03-07
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望17点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-01 12:20
哇,是的,是的,谢谢各位
游客

返回顶部