exinren
驱动牛犊
驱动牛犊
  • 注册日期2008-11-26
  • 最后登录2010-11-08
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望123点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1732回复:8

请教:文件系统过滤驱动,实现卷只读控制

楼主#
更多 发布于:2009-02-01 00:37
请问各位大虾,如果在文件系统过滤驱动中,对挂载的某个卷进行只读控制,在irp_mj_write 对应的例程中处理就可以了吧 ?irp_mj_wirte的例程运行于 任意线程上下文吗?
努力
hgwolf
驱动中牛
驱动中牛
  • 注册日期2002-05-16
  • 最后登录2011-12-12
  • 粉丝0
  • 关注0
  • 积分1035分
  • 威望520点
  • 贡献值0点
  • 好评度316点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-03-14 00:49
irp中处理,有应用程序兼容性问题
牛犊小牛中牛大牛老牛,天那,我什么时候能变成牛顿啊
hgwolf
驱动中牛
驱动中牛
  • 注册日期2002-05-16
  • 最后登录2011-12-12
  • 粉丝0
  • 关注0
  • 积分1035分
  • 威望520点
  • 贡献值0点
  • 好评度316点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-03-14 00:47
把卷弄成只读属性不成吗
牛犊小牛中牛大牛老牛,天那,我什么时候能变成牛顿啊
exinren
驱动牛犊
驱动牛犊
  • 注册日期2008-11-26
  • 最后登录2010-11-08
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望123点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-02-02 18:24
引用第3楼AlexSho于2009-02-02 09:21发表的  :
可以在create的时候,把FileObject和进程id关联起来,在write的时候再根据FileObject获取进程id信息。

但在irp_mj_wirte例程里,若是任意线程上下文,即所在的进程也不确定,比如系统线程会写这个fileobject,那被禁止了,怎么办?
努力
jununfly
驱动牛犊
驱动牛犊
  • 注册日期2008-10-17
  • 最后登录2010-06-01
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望560点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-02-02 13:59
呵呵,如果这么简单我就不会烦不胜烦了。。。
exinren
驱动牛犊
驱动牛犊
  • 注册日期2008-11-26
  • 最后登录2010-11-08
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望123点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-02-02 12:55
恩,这个方法,不错,与路径获取一样呀
努力
AlexSho
驱动牛犊
驱动牛犊
  • 注册日期2008-01-10
  • 最后登录2017-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望164点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2009-02-02 09:21
可以在create的时候,把FileObject和进程id关联起来,在write的时候再根据FileObject获取进程id信息。
exinren
驱动牛犊
驱动牛犊
  • 注册日期2008-11-26
  • 最后登录2010-11-08
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望123点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2009-02-01 17:32
谢谢楼上答复~~~,我的问题是,若在irp_mj_write例程里 取进程id,然后进行过滤,是否可行,若任意线程上下文,则这种控制似乎是不可行的,我了解的是irp_mj_write 例程的irql <=2 但线程上下文可能是发起请求的线程,或是System进程中的工作者线程,那么过滤就可行,若是任意进程,那么过滤就没戏了
努力
jununfly
驱动牛犊
驱动牛犊
  • 注册日期2008-10-17
  • 最后登录2010-06-01
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望560点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2009-02-01 16:48
问这个问题看来是读了一些,懂了一些,但是很不确定。你无法严格地说它运行在哪,如果非要定位你应该找是在哪个线程上下文中引起的这个IRP。然后是写IRP到达你的驱动时,该IRP的目标卷是否你所要监控的卷。既有机制是可以基本信赖的东东。。。几乎所有的根据你的要求要进行的处理的确都可以在write中做。
游客

返回顶部