阅读:2116回复:1
Minifilter 驱动中打开U盘里的TXT文件
请教:
我用Minifilter架构写了一个测试驱动程序,测试时发现打开U盘里的TXT文件,没有拦到IRP_MJ_READ信号呢,而同样打开硬盘上的TXT却可以拦到,因为我没有过滤cached IO,按理说只要打开TXT文件,就应该拦到IRP_MJ_READ信号啦,不知道有人遇到过这种情况没,可以告诉我原因么? 另外,如果打开的是office的DOC文件,则无论在U盘还是在硬盘上,则都可以拦到IRP_MJ_READ. |
|
沙发#
发布于:2010-01-05 10:42
都没人回复, 还是我自己来解答吧,
今天偶然在论坛里看到了这个帖子: http://bbs.driverdevelop.com/htm_data/39/0806/111547.html 发现自己也一样不小心使用FltGetFileNameInformation来获取文件名,没有能够拦截到Paging IO, 我改用FltGetFileNameInformationUnsafe就可以了,不过看MSDN上说这个函数可能cause deadlocks, 使用起来并不让人放心,所幸我的测试程序没有DOWN掉 |
|