-1

我目前正在开发一个微过滤器驱动程序,我需要拦截这种事件:

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

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

我怎样才能准确地知道每个事件将发送哪个 IRP?

4

1 回答 1

0
  1. 文件夹内的列表文件:IRP_MJ_DIRECTORY_CONTROL。检查以获取更多信息。
  2. 在应用程序中打开文件:IRP_MJ_CREATE。检查以获取更多信息。
  3. 关闭文件:IRP_MJ_CLEANUPIRP_MJ_CLOSE
  4. 修改文件:IRP_MJ_WRITEIRP_MJ_SET_INFORMATION(特别是FileEndOfFileInformationFileValidDataLengthInformation信息类)、IRP_MJ_FILE_SYSTEM_CONTROL(特别是FSCTL_OFFLOAD_WRITEFSCTL_WRITE_RAW_ENCRYPTEDFSCTL_SET_ZERO_DATA fsctl 代码)。

祝你好运。

于 2018-01-26T20:41:04.347 回答