在 Windows10 中阻止文件创建

Block file creation in Windows10

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

的 link
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 } };

所以,简而言之,每一种打开或文件创建都会在 IRP_MJ_CREATE回调。您可以获得要打开的文件的名称(或 创建的)和文件夹的名称等(FltGetFileNameInformation) 并决定是否允许该请求 (return FLT_PREOP_SUCCESS_NO_CALLBACK 允许请求继续) 或者将 IoStatus 设置为 STATUS_ACCESS_DENIED 和 return FLT_PREOP_COMPLETE 阻止请求。简而言之,这就是您的 过滤器应该阻止在特定文件夹下创建文件。