在Windows10中阻止文件创建

时间:2019-02-11 09:58:09

标签: c++ minifilter

我需要在文件夹中创建用于阻止文件创建的app,我试图查看一些有关minifilter的示例,但仍然不了解如何执行此操作。找到了执行处理的这段代码。这是示例https://github.com/Microsoft/Windows-driver-samples/tree/master/filesys/miniFilter/minispy

的链接
CONST FLT_OPERATION_REGISTRATION Callbacks[] = 
{
{ IRP_MJ_CREATE,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

{ IRP_MJ_WRITE,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

{ IRP_MJ_SET_INFORMATION,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

  { IRP_MJ_CLOSE,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

   { IRP_MJ_OPERATION_END } };

1 个答案:

答案 0 :(得分:0)

因此,简而言之,各种打开或文件创建最终都会在 IRP_MJ_CREATE回调。您可以获取要打开的文件的名称(或 创建)以及文件夹的名称(FltGetFileNameInformation) 并决定是否允许该请求 (返回FLT_PREOP_SUCCESS_NO_CALLBACK,允许请求继续) 或将IoStatus设置为STATUS_ACCESS_DENIED之类,然后返回 FLT_PREOP_COMPLETE阻止请求。简而言之,这就是您的 过滤器应该执行阻止在特定文件夹下创建文件的操作。