Windows IRP函数调用打开和保存文件

时间:2017-11-20 10:55:33

标签: windows filesystems minifilter irp

我正在制作一个minifilter驱动程序,我需要拦截这类事件:

  • 在文件夹中列出文件
  • 在应用程序中打开文件
  • 关闭此文件
  • 修改并保存文件

根据我的阅读,我想我需要过滤IRP_MJ_CREATE,IRP_MJ_READ,IRP_MJ_WRITE,但我需要的东西比猜测更好。

我如何确切地知道每个事件将发送哪个IRP?

1 个答案:

答案 0 :(得分:0)

  1. 在文件夹中列出文件: IRP_MJ_DIRECTORY_CONTROL 。查看this了解详情。
  2. 在应用程序中打开文件: IRP_MJ_CREATE 。查看this了解详情。
  3. 关闭文件: IRP_MJ_CLEANUP IRP_MJ_CLOSE
  4. 修改文件: IRP_MJ_WRITE IRP_MJ_SET_INFORMATION (特别是 FileEndOfFileInformation FileValidDataLengthInformation 信息类), IRP_MJ_FILE_SYSTEM_CONTROL (特别是 FSCTL_OFFLOAD_WRITE FSCTL_WRITE_RAW_ENCRYPTED FSCTL_SET_ZERO_DATA fsctl代码)。
  5. 祝你好运。