文件过滤的一点总结.doc

文件过滤的一点总结.doc

ID:51311042

大小:41.50 KB

页数:12页

时间:2020-03-10

文件过滤的一点总结.doc_第1页
文件过滤的一点总结.doc_第2页
文件过滤的一点总结.doc_第3页
文件过滤的一点总结.doc_第4页
文件过滤的一点总结.doc_第5页
资源描述:

《文件过滤的一点总结.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、文件系统驱动文件系统驱动主要生成两类设备:文件系统控制设备,文件系统的卷设备文件系统控制设备:主要任务是修改整个驱动的内部配置文件系统的卷设备:一个卷对应一个逻辑盘发送给控制设备的请求(IRP),一般是文件系统控制IRP(主功能号为IRP_MJ_FILE_SYSTEM_CONTROL);发送给卷设备的IRP一般则是文件操作IRP。过滤的目标最终是为了得到文件操作的IRP,但是控制设备的IRP,一般用来捕获卷设备的生成信息,所以我们要先绑定文件系统的控制设备,达到绑定文件系统的卷设备的目的~~(1)生成自己的一个控制设备,当然必须给控制设

2、备指定名称(2)设置普通分发函数(3)设置快速IO分发函数(4)编写一个文件系统变动回调函数,在其中绑定刚激活的文件系统控制设备(动态绑定)(5)使用IoRegisterFsRegistrationChange调用注册这个回调函数文件系统控制设备的绑定过滤设备扩展typedef struct _SFILTER_DEVICE_EXTENSION {  ULONG TypeFlag;    //    //  绑定的文件系统设备(真实设备)    //    PDEVICE_OBJECT AttachedToDeviceObject;   

3、 //    //  与文件系统设备相关的真实设备(磁盘),这个在绑定时使用    //      //    PDEVICE_OBJECT StorageStackDeviceObject;    //    //      // 如果绑定了一个卷,那么这是物理磁盘卷名;否则这是绑定的控制设备名      //      //文件系统驱动文件系统驱动主要生成两类设备:文件系统控制设备,文件系统的卷设备文件系统控制设备:主要任务是修改整个驱动的内部配置文件系统的卷设备:一个卷对应一个逻辑盘发送给控制设备的请求(IRP),一般是文件系统控

4、制IRP(主功能号为IRP_MJ_FILE_SYSTEM_CONTROL);发送给卷设备的IRP一般则是文件操作IRP。过滤的目标最终是为了得到文件操作的IRP,但是控制设备的IRP,一般用来捕获卷设备的生成信息,所以我们要先绑定文件系统的控制设备,达到绑定文件系统的卷设备的目的~~(1)生成自己的一个控制设备,当然必须给控制设备指定名称(2)设置普通分发函数(3)设置快速IO分发函数(4)编写一个文件系统变动回调函数,在其中绑定刚激活的文件系统控制设备(动态绑定)(5)使用IoRegisterFsRegistrationChange调

5、用注册这个回调函数文件系统控制设备的绑定过滤设备扩展typedef struct _SFILTER_DEVICE_EXTENSION {  ULONG TypeFlag;    //    //  绑定的文件系统设备(真实设备)    //    PDEVICE_OBJECT AttachedToDeviceObject;    //    //  与文件系统设备相关的真实设备(磁盘),这个在绑定时使用    //      //    PDEVICE_OBJECT StorageStackDeviceObject;    //    

6、//      // 如果绑定了一个卷,那么这是物理磁盘卷名;否则这是绑定的控制设备名      //      //    UNICODE_STRING DeviceName;    //    //  用来保存名字字符串的缓冲区    //    WCHAR DeviceNameBuffer[MAX_DEVNAME_LENGTH];  //   // The extension used by other user.  //  UCHAR UserExtension[1];} SFILTER_DEVICE_EXTENSION, *P

7、SFILTER_DEVICE_EXTENSION;绑定文件系统控制设备SfAttachToFileSystemDevice文件系统控制设备已经被绑定,绑定的目的是为了获得发送给文件系统控制设备的文件系统控制请求。这些IRP的主功能号是IRP_MJ_FILE_SYSTEM_CONTROL,每个主功能号下一般都有次功能号从这些控制IRP中能得到足够的信息,确定一个卷被挂载,这样才有可能去绑定文件系统的卷设备当有卷被挂载或解挂载时,SfFsControl()就会被系统回调。现在的任务是在这个函数中获得卷设备的相关信息并对它实行绑定,才能捕获各

8、种针对文件的IRP,从而获得临控各种文件操作的能力主功能号为IRP_MJ_FILE_SYSTEM_CONTROL时,有以下几个不同次功能号的IRP要处理(1)次功能号为IRP_MN_MOUNT_VOLUME

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。