如何使用文件系统微型过滤器阻止网络共享驱动器上的文件覆盖

时间:2019-03-14 09:23:15

标签: c++ minifilter

我创建了一个微型过滤器驱动程序,以阻止访问网络共享驱动器中的文件。运行良好。 在这里,我面临一个问题,无法阻止其中的文件编辑。 我在miniprecreate方法中检查了以下标志值。 FILE_OVERWRITE,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_WRITE_ATTRIBUTES,FILE_WRITE_EA 这是我使用的示例代码。

if((Data->Iopb->Parameters.Create.Options >> 24) ==FILE_APPEND_DATA )                           
                    {

                        Data->IoStatus.Status=STATUS_ACCESS_DENIED;
                        Data->IoStatus.Information=0;
                        FltReleaseFileNameInformation(FileNameInfos);
                        return FLT_PREOP_COMPLETE;
                    }

但无法阻止文件版本。 提前致谢。您能提供一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

注册IRP_MJ_WRITE并使用相同的方式阻止 if((数据-> Iopb-> Parameters.Create.Options >> 24)== FILE_APPEND_DATA)