文件系统过滤驱动和设备驱动的不同

1、文件系统过滤驱动没有电源管理

      因为文件系统过滤驱动不是设备驱动,因此它们不能直接控制硬件设备,文件系统过滤驱动不能接收IRP_MJ_POWER 请求,替代的做法是电源的IRP请求被直接发送给存储设备堆,但是,在少数情况下,文件系统过滤驱动可能会干扰电源管理, 因为这个原因,文件系统过滤驱动将不会在DriverEntry例程中为IRP_MJ_POWER 注册派遣例程并且不会调用Poxxx例程 。  

2、文件系统过滤驱动没有WDM

     文件系统过滤驱动不能是WDM驱动,微软的WDM仅仅为设备驱动,有关更多的文件系统驱动开发请看DDK。

3、文件系统过滤驱动没有AddDevice 或 StartIo例程

      因为他们不是设备驱动,因此不能直接控制硬件,文件系统过滤驱动不能有AddDevice 或 StartIo例程。

4、不同的设备对象被建立

      虽然文件系统过滤驱动和设备驱动都创建设备对象,但是他们创建的设备对象的数量和种类是不同的,设备驱动创建物理和功能性的设备对象来描述设备,即插即用管理器构造和维护一个全局的,包含所有由设备驱动创建的设备对象的设备树,文件系统过滤驱动创建的设备对象就不被包含在这个设备树中。

文件系统过滤驱动不创建功能性和物理的设备对象,他们创建控制设备对象和过滤设备对象,控制设备对象(CDO)对系统和用户模式应用程序描述过滤驱动,过滤设备对象(FDO)执行过滤一个制定的文件系统或卷的实际的工作。一个文件系统过滤驱动通常创建一个控制设备对象和一个或多个过滤设备对象。

5、其它不同

     因为文件系统过滤驱动不是设备驱动,所以它不能直接执行内存的存取

     设备驱动可以附加在一个目标设备功能驱动的上面或者下面,但是文件系统过滤驱动只能附加在一个目标文件系统驱动的上面,因此,在设备驱动期间,一个文件系统过滤驱动只能进行上层过滤,不能进行下层过滤。

posted on 2008-01-02 16:16  zeropoint  阅读(584)  评论(1)    收藏  举报

导航