如何在小型过滤器中获取文件名

问题描述

我正在尝试创建一个获取文件名的驱动程序,我什至用一个示例来获取它:DbgPrint("%ws",&FileNameInfo->Name.Buffer);

但是如果没有"%ws",如何获取文件名?仅使用DbgPrint(&FileNameInfo->Name.Buffer);

当我尝试在不使用"%ws"的情况下调用函数时,微型过滤器将返回"\",有人可以帮我吗?

这是我的代码

PFLT_FILE_NAME_@R_264_4045@ION FileNameInfo;
    NTSTATUS Status;

    Status = FltGetFileName@R_264_4045@ion(Data,FLT_FILE_NAME_norMALIZED | FLT_FILE_NAME_QUERY_DEFAULT,&FileNameInfo);

    if (NT_SUCCESS(Status))
    {
        Status = FltParseFileName@R_264_4045@ion(FileNameInfo);

        if (NT_SUCCESS(Status))
        {
            DbgPrint(&FileNameInfo->Name.Buffer);
        }

        FltReleaseFileName@R_264_4045@ion(FileNameInfo);
    }

    return FLT_PREOP_SUCCESS_NO_CALLBACK;

我正在使用Google翻译。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)