gpt4 book ai didi

c - 使用 GENERIC_ALL 访问权限在 ProjectedFS 中打开文件(投影文件系统)

转载 作者:行者123 更新时间:2023-11-30 14:39:57 25 4
gpt4 key购买 nike

我使用Projected File System创建了示例应用程序

我已经实现了所有必要的功能,当我从具有 GENERIC_READ 或 GENERIC_WRITE 访问权限的投影 FS 打开文件时,它运行良好,但当我尝试使用 GENERIC_ALL 时,我收到访问被拒绝错误。

出现访问被拒绝错误的可能原因是什么?当文件已复制到投影文件系统时,我收到错误。

代码:

HANDLE fHandle = CreateFile(path_to_file_in_projected_fs, GENERIC_ALL, 0, 0, OPEN_EXISTING, 0, 0);

预期结果:有效的文件句柄。

实际结果:无效句柄,出现访问被拒绝错误(通过 GetLastError())

附注GENERIC_READ_WRITE_EXECUTE 工作正常

HANDLE fHandle = CreateFile(path_to_file_in_projected_fs, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

最佳答案

Is GENERIC_ALL equivalent to GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE?GENERIC_ALL 表示“所有可能的访问级别”(对于文件,其名称为 FILE_ALL_ACCESS)。它不仅仅是 GENERIC_EXECUTE + GENERIC_WRITE + GENERIC_READGENERIC_ALL 还包含诸如 DELETE 之类的内容、WRITE_DAC(更改权限)和WRITE_OWNER(更改所有者)。您可以查看File Security and Access Rights用于访问 FILE_GENERIC_*

您可以尝试从GENERIC_READ+WRITE+EXECUTE中一一添加权限,看看是哪些权限导致了问题。但是,您应该仅请求实际需要的访问级别

关于c - 使用 GENERIC_ALL 访问权限在 ProjectedFS 中打开文件(投影文件系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819130/

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