Когда я использую 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;
}