我需要在文件夹中创建用于阻止文件创建的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 } };
答案 0 :(得分:0)
因此,简而言之,各种打开或文件创建最终都会在 IRP_MJ_CREATE回调。您可以获取要打开的文件的名称(或 创建)以及文件夹的名称(FltGetFileNameInformation) 并决定是否允许该请求 (返回FLT_PREOP_SUCCESS_NO_CALLBACK,允许请求继续) 或将IoStatus设置为STATUS_ACCESS_DENIED之类,然后返回 FLT_PREOP_COMPLETE阻止请求。简而言之,这就是您的 过滤器应该执行阻止在特定文件夹下创建文件的操作。