阅读:1817回复:3
拦截IRP_MJ_CREATE请求的问题
我拦截IRP_MJ_CREATE请求包,获取create/open的文件名,将拦截到的文件名写到文件里,可是写到文件里后有好几个重复的记录,能不能过滤为一个记录。我用DebugView查看,打开一个文件确实发送了好几次IRP_MJ_CREATE。而我的程序每次拦截都会写文件,所以有重复的拦截记录。有没有好的办法只拦截一次IRP_MJ_CREATE?发送的多长IRP_MJ_CREATE有没有什么区别吗?例如它们的MinorFunction
|
|
沙发#
发布于:2009-04-11 10:14
你可以在create中保存文件名字后给文件设置一个Context。,再create的时候,尝试获取这个context,如果得到,就不保存了,如果得不到,就保存文件名,并设置这个context。
|
|
板凳#
发布于:2009-04-22 09:40
有更好的办法吗?例如判断IRP_MN_???
|
|
地板#
发布于:2009-04-23 14:52
本来就会Create啊?
二楼的方法,就是若是同一个FCB,就不记录,这样就不会重复记录 同一FCB的多次打开了 |
|