Как создать точку соединения с помощью WinAPI?
-
26-09-2019 - |
Вопрос
Есть CreateHardLink
Функция для создания Hardlinks. (С момента Win2000)
И есть CreateSymbolicLink
Функция, поскольку Vista была выпущена.
Но почему нет CreateJunction
?
Как делает mklink
сделать соединение?
И как я пишу коды, чтобы сделать соединение в моем приложении?
Решение
ОНИ REPARSE PAILS, поэтому fsctl_set_reparse_point - это волшебный FSCTL. Вот пример, никогда не пробовал, но кажется правильным:
http://www.flexhex.com/docs/articles/hard-links.phtml.
-скопа
Другие советы
В настоящее время нет встроенной одной функции для создания соединений, таких как есть для символических ссылок или жестких ссылок. Как сказал Snoone, это повторная точка, поэтому вы должны использовать Устройствооконтрол взаимодействовать с этим. Если я правильно помню, источник, который он связал, это тот же источник, с которым я играл, когда я пытался это понять, и я не думаю, что я бежал в любые проблемы с этим.
В качестве альтернативы, если вы не против использования внешней библиотеки в вашем приложении, и вам нужно понадобиться функциональность для чтения / проверки / удаления соединений, вы можете посмотреть реподвижил, что является довольно достойной библиотечной обертывающими соединениями, символические ссылки, точки монтирования и пользовательские очки повторной репарации.