victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:1877回复:9

怎样才能屏蔽写操作?

楼主#
更多 发布于:2007-04-16 10:00
  怎样才能屏蔽写操作呢?一直都在寻求这个办法,有人知道吗?

最新喜欢:

123abc123abc
yeats
驱动牛犊
驱动牛犊
  • 注册日期2001-04-10
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分142分
  • 威望86点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-17 03:34
word或者excel的做法很特殊
它并没有写源文件,而是用的改名的方法,实际上是删除源文件,然后把临时文件改名成源文件 ...
所以你除了要handle write 之外还要handle setfileinformation之类的东西,呵呵
[url]http://oopslab.net[/url]
victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-16 15:55
而且改可读的方法不行啊
改了以后还改不回来了
而且容易出问题,经常死机
victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-16 13:57
很奇怪,比如一个.dat文件,我用ultraedit打开就不能改,而用写字板打开就可以改,这是为什么呢?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
地下室#
发布于:2007-04-16 13:42
必须是在IRP_MJ_CREATE下发FSD之前设置。

这种方法有几个难题需要解决:

1。IRP_MJ_CREATE下发FSD之前获取文件全路径比较困难,不过可以参照FILEMON的方法;
2。如果在IRP_MJ_CREATE之后设置则应该做如下处理:
   a〉下发IRP_MJ_CREATE请求,并在成功返回后按Sfilter方法或来文件全路径;
   b〉如果文件名匹配成功则CACEL先前的Create,并重新以只读属性下发IRP_MJ_CREATE请求到FSD;

这两种方法都可行,但方法相对都比较麻烦。
人总在矛盾中徘徊。。。
victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-04-16 12:40
那为什么把它改为只读行不通呢?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
6楼#
发布于:2007-04-16 11:49
引用第3楼victorliuhao2007-04-16 11:14发表的“”:
用IoSetShareAccess这个函数可以吗?


The IoSetShareAccess routine sets the access rights for sharing the given file object.
人总在矛盾中徘徊。。。
victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-04-16 11:14
用IoSetShareAccess这个函数可以吗?
victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-04-16 10:50
是在IRP_MJ_CREATE里做修改吗
为什么我改过以后仍然可以写呢?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
9楼#
发布于:2007-04-16 10:37
人总在矛盾中徘徊。。。
游客

返回顶部