Функции CreateHardLink и CreateSymbolicLink Win32 - PullRequest
1 голос
/ 03 июня 2011

Я завершаю проект по созданию фиктивных файловых систем для резервного копирования, и мне необходимо разработать метод создания жестких и программных ссылок в структурах.

Функции CreateHardLink и CreateSymbolicLink в windows.h получают расположение и имена файлов на основе текущего рабочего каталога.

Исходный код теперь меняет каталог, но эти две функции не выполняются успешно.

 wstring hltarg;
 hltarg = L"sym";
 hltarg += ExistingFileName;
 CreateHardLinkW(hltarg.c_str(), ExistingFileName.c_str(), NULL)

где hltarg объединяет имя существующего файла до конца sym.

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

Какой-нибудь совет по другому маршруту, вместо того, чтобы менять текущий каталог?

Приложение должно быть переносимым, чтобы не было жестких ссылок на пути к файлам, хотя будут предоставлены необходимые пути к файлам.

...