高分请教window minifilter驱动问题
使用wdk提供的minispy 例子代码;注册时所有pre操作指向同一个回调函数,在该回调函数中,我打印特定文件的IRP操作;如打印文件"test.txt"所有PRE操作的IRP;
现在一些问题:
编程对test.txt进行CreateFileMapping、MapViewOfFile、FlushViewOfFile操作,发现:
1、使用内存映射文件对test.txt文件进行读操作的时候,minifilter没有捕获到paging io 的MJ_READ操作;原因是什么?
2、如果不调用FlushViewOfFile,在minifilter中也无法捕获paging io的MJ_WRITE操作;原因是什么?
3、如果调用FlushViewOfFile,在minifilter中可以获取paging io 的MJ_WRITE操作;
4、对于paging io,有时候发现FltObjects->FileObject->FileName是为空,无法获取文件名(FltGetFileName系列函数不能获取PagingIO操作的文件名),目前处理方法是在MJ_CREATE操作的时候保存文件名,然后在Paging IO中进行查询,在MJ_CLOSE的时候对保存的文件名进行删除;请问这个做法是否妥当?