最近要用wdk 7 的minifilter做一个文件过滤的东西,苦于没有资料可用,明明知道 winDDK/src/filesys/minifilter的范例很有用,但就是无从下手,google了半天(SB google.cn刚换马夹变成了google.hk,速度叫个慢哟),最终还是抱上了msdn的大腿, 居然在MSDN library> win32 and com development >windiws Driver Kit > device and driver technologies> installable file system drivers> IFSK samples 找到了英文简介。
没办法,自已翻译吧,虽然咱的E文水平一般,可好歹也算是“填补国内空白”不是? 不要埋怨哥,哥没有传说......
原文地址:http://msdn.microsoft.com/en-us/library/dd445225.aspx
转载请注明来源!http://blog.csdn.net/jykj_007
cancelSafe minifilter sample
描述: 如果你要使用cancel-safe(什么意思?)队列 ,就用cancelsafe minifilter sample吧。
操作原理:当cancelsafe minifilter 附属于一个卷时,将初始化一个cancel-safe 队列。 当这个minifilter销毁时,监控器读取通过i/o栈的操作。如果这个读操作已经在一个名叫csqdemo.txt文件上运行, 这个操作将被排到cancel-safe 队裂, 排队操作将在短暂的停顿(通过一个单独的运行在系统上下文的工作线程)之后完成 (去死啊,搞那么多that)
minispy minifilter sample
描述:本示例是一种监控和记录任何 I/O以及重现系统内部事务活动 的工具。这个例子类似大名鼎鼎的filespy,不过它是用minifilter实现的。
操作原理: minispy由用户模式和内核模式组成,内核模式组件注册(相当于各种利用过滤管理器 进行i/o和事务操做
)的回调函数,这些回调函数帮助minispy记录任何系统的i/o和事务动作事件。当一个用户能够访问记录信息时,这个记录信息通过用户模式组件,即可以输出到屏幕上也可以输入到磁盘上的log文件里
要观察一个设备上的i/o 活动,你必须明确地指定minispy和这个设备的联系,同样,也可以要求minispy停止对一个特定设备记录日志。
ctx minifilter sample
描述: 本例用来说明如何指派你的minifilter和实例、文件、流或流句柄的上下文。
操作原理:ctx minifilter展示如何从和实例、文件、流或流句柄指派上下文或移除上下文,无论一个或多个对象被创建,ctx都会指派一个上下文。 当指派一个文件的上下文时,例子同样创建一个流和流句构的上下文。所有的上下文将完全被过滤管理器用minifilter提供的回调函数删除。
passThrough minifilter sample
描述: passThrough minifilter 说明 如何为不同类型的irp指定回调函数
操作原理: passThrough minifilter没有任何真正的功能.对于每种i/o操作
,预回调和后回调函数同样被调用,这些回调函数仅仅在堆栈的下一个过滤器之前。
fastfat file system
discription :你可以用它来写全新的文件系统(if U want....)
I had never think of to write a new file system...even the Boss kill me
scanner minifilter sample
discription: 本例适用于 有志于写检测文件数据过滤器的“developers”,尤其是反病毒就是属于这个领域滴(ms 卡巴斯基就用到minifilter)!
操作原理:sanner包括用户模式和内核模式组件,内核组件识别合适的时机去扫描一个文件的数据并且传递数据到用户模式组件做更多的确认。用户模式组件创建一个线程的编号去等待内核组件的确认?? 在批描到脏数据字符后,用户模式发送一个合适的反应给内核模式组件。
内核模式组件仅用特定的扩展名(extensions)扫描文件.文件首先在成功的打时扫描。如果文件被写访问打开,扫描将在文件关闭前重新执行。 扫描同样可以运行在将被写入到文件的数据上,当数据里发现脏字符串时写将被拒绝。当脏字符在文件关闭期间发现,打印一个debug 消息。
swapbuffers minifilter sample
description: swapbuffer minifilter 展示 如何交换读和写数据之间的缓存。这项技术在加密过滤时相当有用,因为你必须在数据写到磁盘上之前加密,在数据从磁盘上读取后解密。 由于加解密必须透明,你不能直接使用系统提供的缓存,因此中间缓存是必须引进滴。
操作原理:swapbuffer minifilter 在读/写或目录控制操作前引进一个新缓存,对应的操作随即运行在新缓存,以代替初始提供的缓存, 在操作完成后, 新缓存的内容被拷贝回初始缓存
转载请注明来源!http://blog.csdn.net/jykj_007