检查重命名操作是否替换了minifilter驱动程序中的现有文件

时间:2016-07-12 09:29:10

标签: filesystems driver minifilter

重命名或移动文件时,API允许覆盖目标文件(如果已存在)。我可以通过检查FLT_IO_PARAMETER_BLOCK

来在minifilter中观察到该事件
Iopb->MajorFunction == IRP_MJ_SET_INFORMATION

Iopb->Parameters.SetFileInformation.FileInformationClass == FileRenameInformation

我还可以看到ReplaceIfExists结构中设置了FILE_RENAME_INFORMATION。如果操作实际上导致现有文件被覆盖,是否也可以以某种方式检查?

对于IRP_MJ_CREATE,如果文件已被覆盖,Information中的IO_STATUS_BLOCK字段在后期操作回调中设置为FILE_OVERWRITTEN。重命名/移动也存在类似的东西吗?

0 个答案:

没有答案