阅读:1219回复:4
文件操作,实在想不明白
写了个驱动,想让它以共享读写方式打开一些文件,以防止用户无意中删除这些文件,通过IOCTL命令告诉驱动打开这些文件和关闭这些文件,所有HANDLE存储在extersion中,结果关闭发送IOCTL的EXE,打开的文件照样能删除,只在启动EXE的情况下起作用,实在搞不明白,这些文件打开没有关闭过呀,驱动开机加载,从来没卸载,它怎么把这些句柄关闭的?????
|
|
沙发#
发布于:2005-01-31 17:25
请问一下,你停止再启动exe,文件可以删掉吗?
|
|
|
板凳#
发布于:2005-01-31 20:43
你的驱动只是保存了这些HANDLE,并没有增加他们的参考计数。因此exe文件一退出,这些HANDLE就被销毁了。
可以在驱动中再参考一次。 |
|
地板#
发布于:2005-02-01 09:46
你的驱动只是保存了这些HANDLE,并没有增加他们的参考计数。因此exe文件一退出,这些HANDLE就被销毁了。 增加:ObReferenceObject 减少:ObDereferenceObject |
|
|
地下室#
发布于:2005-02-01 12:20
哇,是的,是的,谢谢各位
|
|