Сбой CreateDirectory () или filesystem :: create_directory () на виртуальной машине Windows 10 с правами администратора - PullRequest
0 голосов
/ 12 сентября 2018

Когда я использую std::filesystem::create_directory() файловой системы C ++ или CreateDirectory() в общей папке виртуальной машины, не удается создать каталог, когда я запускаю приложение от имени администратора. Тем не менее, когда я запускаю его как обычно для учетной записи, а не от имени администратора, она работает нормально.

Я использую VirtualBox с Windows 10 в качестве хост-системы, а также с Windows 10 в виртуальной машине. Общая папка автоматически монтируется и отображается на виртуальной машине как диск E: \. Возвращаемая ошибка говорит: «Путь не найден», а код ошибки, заданный CreateDirectory(), номер 3 в этом списке: https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--0-499-. Я использовал несколько способов, чтобы вернуть эту ошибку, для std::filesystem::create_directory() I ' мы использовали второй аргумент и с CreateDirectory() я использовал GetLastError().

Есть ли возможность запускать эти функции без прав администратора, если само приложение работает с правами администратора?

Или есть другое решение?

Пример кода с использованием файловой системы, которая выдает ошибку:

#include <filesystem>

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

    return 0;
}
...