Открытие сетевого файла с использованием CreateFile завершается неудачно с FILE_NOT_FOUND

Поэтому я пытаюсь смоделировать удаленное открытие файла, которое указывает на мой компьютер, однако я продолжаю работать с ошибкой 3 (FILE_NOT_FOUND). Я прошел через следующее документация относительно использования сети, но это тоже не сработало.

hFile1 = ::CreateFile(LR"(\\172.17.12.172\C$\Develop\Code\File.txt)", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
if (INVALID_HANDLE_VALUE == hFile1)
{
LOG_ERROR(L"Failed opening file with: " << GetLastError());
break;
}
  1. FILE_SHARE_DELETE | FILE_SHARE_READ | Флаги FILE_SHARE_WRITE для GetFileInformationByHandle, который используется позже, я сравниваю пути к файлам.
  2. Я пытался открыть \\172.17.12.172\C$\Develop\Code\File.txt с помощью блокнота все заработало.

172.17.12.172 — мой локальный IP-адрес.

1

Решение

Синтаксис вашего имени файла в порядке. Что код ошибки FILE_NOT_FOUND а не какая-то другая ошибка означает, что каталог найден, но в этом каталоге не может быть найдено ни одного файла.

Вы должны быть в состоянии открыть файл с путем этой формы, используя CreateFile, Если вы действительно можете открыть файл с этим путем с помощью Блокнота, то вы сможете сделать то же самое с помощью CreateFileДо тех пор, пока вы передаете то же имя файла.

Поэтому наиболее правдоподобным объяснением является то, что вы просто допустили опечатку. Я не вижу причин выходить за рамки очевидного вывода, предложенного FILE_NOT_FOUND, Там нет файла с таким именем.

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector