gpt4 book ai didi

c++ - 微过滤器在运行前重定向文件创建?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:19:38 25 4
gpt4 key购买 nike

我正在尝试重定向硬盘卷上的文件创建(即\Device\HarddiskVolume2)

我找到了 redirecting file name in minifilter open pre .但是我得到了如下的系统对话框

enter image description here

这是我的代码:

// I tested with pFileName = &Data->Iopb->TargetFileObject->FileName;
// It has same result
pFileName = &FltObjects->FileObject->FileName;
if (pFileName->Buffer != NULL)
ExFreePool(pFileName->Buffer);

// gRedirectFullFilePath is \\Device\\HarddiskVolume2\\File.ext
pFileName->Length = gRedirectFullFilePath.Length;
pFileName->MaximumLength = pFileName->Length;
pFileName->Buffer = (PWCH) ExAllocatePool(NonPagedPool, pFileName->MaximumLength);
if (pFileName->Buffer == NULL)
goto PreOperationCleanup;

RtlCopyUnicodeString(pFileName, &gRedirectFullFilePath);

// Change I/O status
Data->IoStatus.Information = IO_REPARSE;
Data->IoStatus.Status = STATUS_REPARSE;
Data->Iopb->TargetFileObject->RelatedFileObject = NULL;

FltSetCallbackDataDirty(Data);

return FLT_PREOP_COMPLETE;

我不想显示这个对话框。我该怎么办?

非常感谢!

最佳答案

你应该检查SimRep File System Minifilter Driver来自 WDK8.1 示例的示例。

例如,它会忽略卷打开 (FO_VOLUME_OPEN) 和目录打开 (SL_OPEN_TARGET_DIRECTORY)。也许这给你带来了麻烦。
它还使用 IoReplaceFileObjectName 替换文件对象的名称(应该比直接更改 FILE_OBJECT 更安全)。

关于c++ - 微过滤器在运行前重定向文件创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28364379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com