在 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 阻止请求。简而言之,这就是您的
过滤器应该阻止在特定文件夹下创建文件。
我需要为在文件夹中创建块文件创建应用程序,我试图查看一些关于 minifilter 的示例,但仍然不明白如何执行此操作。找到了这段进行处理的代码。这是示例 https://github.com/Microsoft/Windows-driver-samples/tree/master/filesys/miniFilter/minispy
的 linkCONST 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 阻止请求。简而言之,这就是您的 过滤器应该阻止在特定文件夹下创建文件。