在具有管理员权限的Windows 10虚拟机上,CreateDirectory()或filesystem :: create_directory()失败

时间:2018-09-12 09:52:29

标签: c++ directory virtual-machine virtualbox administrator

当我在虚拟机的共享文件夹上使用C ++文件系统的std::filesystem::create_directory()CreateDirectory()时,以管理员身份运行该应用程序时无法创建目录。但是,当我通常以帐户而不是管理员身份运行它时,它似乎可以正常工作。

我正在将VirtualBox与Windows 10用作主机系统,还将Windows 10作为虚拟机使用。共享文件夹将自动挂载,并且在虚拟机中作为E:\驱动器可见。返回的错误为“找不到路径”,并且CreateDirectory()给出的错误代码是此列表https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--0-499-上的数字3。我使用了多种方法来返回此错误,因为std::filesystem::create_directory()使用了第二个参数,而CreateDirectory()使用了GetLastError()

当应用程序本身具有管理员权限时,是否可以选择在没有管理员特权的情况下运行这些功能?

还是有其他解决方案?

使用文件系统的示例代码会产生错误:

#include <filesystem>

int main(int argc, char* argv[])
{
    std::filesystem::path targetPath = "E:\\TestPath";
    std::filesystem::create_directory(targetPath);

    return 0;
}

0 个答案:

没有答案