solar-2008
驱动牛犊
驱动牛犊
  • 注册日期2008-08-31
  • 最后登录2010-05-21
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望305点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3157回复:9

shadow device是什么?

楼主#
更多 发布于:2009-02-09 09:27
最近在看XiangXiangRen 大侠的Windows文件过滤驱动开发教程(第二版),首先感谢XiangXiangRen的免费书。书上面写了避免文件重入的事情。书上原话是:使用影设备(Shadow Device)是网络上广为流传的方法。是非常优秀的解决方案。

有没有大侠告诉我一下影设备是怎么回事,她的解决办法是什么?谢谢大侠了。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2009-02-25 11:37
shadowdevice用于解决在文件 驱动中的重入问题。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
chagoogle
驱动牛犊
驱动牛犊
  • 注册日期2005-11-22
  • 最后登录2011-11-23
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望97点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-03-01 15:37
楼上,“shadowdevice用于解决在文件 驱动中的重入问题。”这种回答问题的方式太垃圾了吧,都哪年哪月的老技术了,告诉年轻人又怎么样。

1.shadow device是一个文件系统分层驱动
2.shadow device不是一个过滤驱动
3.shadow device与下层的设备具有相同的特性,安全性以及数据缓冲等特性
4.shadow device收到的所有irp都会转发给下层的设备

如果你的驱动开发基础够好,我上面的几点提示足以让你写出shadow device功能的程序了,如果你没法理解,你需要看看基础的东西,先不要看那些个什么所谓牛人写的什么东西。

当我们的过滤驱动位于一个文件系统驱动之上是,为了调用下层的功能,必须要转个弯调用它,因为直接调用就会递归调用自己。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2009-03-01 21:22
shadow device是一个设备对象,如果我没有理解错,他想知道的是这个。

通常在过滤驱动中,对过滤的目标卷设备创建一个新设备,用来解决在驱动中操作文件的重入。

具体版上有文章,我翻译过的。

这不是保密的原因,而是在目前情况下,已经很少用了,ifs中有 新函数可以解决这个

IoCreateFileSpecifyDeviceObjectHint
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
chagoogle
驱动牛犊
驱动牛犊
  • 注册日期2005-11-22
  • 最后登录2011-11-23
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望97点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-03-02 13:09
不错,它是一个设备,我说"shadow device是一个文件系统分层驱动",想表明的是使用shadow device技术的驱动会像分层驱动一样对一个LowerDevice(卷设备)发送IRP。

再添加一点,
5.shadow device是一个有名称的设备,方便使用ZwCreateFile直接打开它。

忽略啰嗦的东西,可以认为它就是一个会转发所有的IRP到底层设备的设备,仅此而已,没有传说中的那么神密,一百行之内就可以实现这个功能。
solar-2008
驱动牛犊
驱动牛犊
  • 注册日期2008-08-31
  • 最后登录2010-05-21
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望305点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-03-02 14:22
谢谢楼上的2位大侠,稍微明白了一点,呵呵,谢谢了!
sjvollyball
驱动牛犊
驱动牛犊
  • 注册日期2007-11-22
  • 最后登录2015-06-12
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望72点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-03-25 10:25
感觉两位大侠在PK    哈哈
mz_suya
驱动小牛
驱动小牛
  • 注册日期2008-06-13
  • 最后登录2010-08-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望648点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分1分
7楼#
发布于:2010-04-03 16:39
引用第6楼sjvollyball于2010-03-25 10:25发表的 :
感觉两位大侠在PK    哈哈

zss2003
驱动牛犊
驱动牛犊
  • 注册日期2010-08-16
  • 最后登录2011-12-14
  • 粉丝0
  • 关注1
  • 积分26分
  • 威望251点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2010-10-26 15:20
一直迷惑着,看了下,懂了些。谢谢!
wanghui219
禁止发言
禁止发言
  • 注册日期2007-08-28
  • 最后登录2019-07-29
  • 粉丝4
  • 关注3
  • 积分101166分
  • 威望505351点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分4分
  • 社区居民
9楼#
发布于:2010-10-26 17:08
用户被禁言,该主题自动屏蔽!
游客

返回顶部