阅读:3157回复:9
shadow device是什么?
最近在看XiangXiangRen 大侠的Windows文件过滤驱动开发教程(第二版),首先感谢XiangXiangRen的免费书。书上面写了避免文件重入的事情。书上原话是:使用影设备(Shadow Device)是网络上广为流传的方法。是非常优秀的解决方案。
有没有大侠告诉我一下影设备是怎么回事,她的解决办法是什么?谢谢大侠了。 |
|
沙发#
发布于:2009-02-25 11:37
shadowdevice用于解决在文件 驱动中的重入问题。
|
|
|
板凳#
发布于:2009-03-01 15:37
楼上,“shadowdevice用于解决在文件 驱动中的重入问题。”这种回答问题的方式太垃圾了吧,都哪年哪月的老技术了,告诉年轻人又怎么样。
1.shadow device是一个文件系统分层驱动 2.shadow device不是一个过滤驱动 3.shadow device与下层的设备具有相同的特性,安全性以及数据缓冲等特性 4.shadow device收到的所有irp都会转发给下层的设备 如果你的驱动开发基础够好,我上面的几点提示足以让你写出shadow device功能的程序了,如果你没法理解,你需要看看基础的东西,先不要看那些个什么所谓牛人写的什么东西。 当我们的过滤驱动位于一个文件系统驱动之上是,为了调用下层的功能,必须要转个弯调用它,因为直接调用就会递归调用自己。 |
|
地板#
发布于:2009-03-01 21:22
shadow device是一个设备对象,如果我没有理解错,他想知道的是这个。
通常在过滤驱动中,对过滤的目标卷设备创建一个新设备,用来解决在驱动中操作文件的重入。 具体版上有文章,我翻译过的。 这不是保密的原因,而是在目前情况下,已经很少用了,ifs中有 新函数可以解决这个 IoCreateFileSpecifyDeviceObjectHint |
|
|
地下室#
发布于:2009-03-02 13:09
不错,它是一个设备,我说"shadow device是一个文件系统分层驱动",想表明的是使用shadow device技术的驱动会像分层驱动一样对一个LowerDevice(卷设备)发送IRP。
再添加一点, 5.shadow device是一个有名称的设备,方便使用ZwCreateFile直接打开它。 忽略啰嗦的东西,可以认为它就是一个会转发所有的IRP到底层设备的设备,仅此而已,没有传说中的那么神密,一百行之内就可以实现这个功能。 |
|
5楼#
发布于:2009-03-02 14:22
谢谢楼上的2位大侠,稍微明白了一点,呵呵,谢谢了!
|
|
6楼#
发布于:2010-03-25 10:25
感觉两位大侠在PK 哈哈
|
|
7楼#
发布于:2010-04-03 16:39
|
|
8楼#
发布于:2010-10-26 15:20
一直迷惑着,看了下,懂了些。谢谢!
|
|
禁止发言
|
9楼#
发布于:2010-10-26 17:08
用户被禁言,该主题自动屏蔽! |