MkLink
Функция FSF.MkLink
создаёт жёсткие и символические ссылки, связи каталогов, а также монтирует локальные диски на файловую систему.
BOOL WINAPI MkLink(
const wchar_t *Target,
const wchar_t *LinkName,
enum LINK_TYPE LinkType,
MKLINK_FLAGS Flags
);
Параметры
Target
Имя файлового объекта, на который создаётся ссылка.
LinkName
Имя создаваемой ссылки.
LinkType
Тип операции. Одно из (перечисление
LINK_TYPE):
Flags
Возвращаемое значение
1
- ссылка создана.
0
- ошибка при создании ссылки:
- Для жёстких ссылок:
- Target или LinkName находятся на разных разделах;
- раздел не NTFS;
- раздел не локальный;
- Target не существует или не является файлом.
- LinkName уже существует;
- Для связей:
- Target или LinkName находятся не на локальных разделах;
- раздел не NTFS 5.0;
- Target не существует или не является каталогом;
- LinkName существует, но не пустой каталог.
- Для монтирования дисков:
- Target или LinkName находятся не на локальных разделах;
- раздел для LinkName не NTFS 5.0;
- Src не существует или диск является не локальным;
- LinkName существует, но не пустой каталог.
Примечание
- Ссылки создаются по следующим правилам:
- жёсткие ссылки (hardlink) создаются только для файлов в пределах текущего NTFS-раздела;
- связи (junction) создаются только для каталогов в пределах локальных NTFS-разделов;
- монтирование локальных дисков на файловую систему только на NTFS-раздел.
- Если в качестве Target было передано значение, например L"C:", то вместо связи каталогов будет монтирован диск.
- Если для монтирования диска LinkName оканчивается слешем, то в LinkName будет создан каталог "disk_N" (где N - буква диска).
- В Windows 2000 напрямую делать связи на папки CD-ROM нельзя, но можно это ограничение обойти, смонтировав CD-ROM диск на папку NTFS-раздела
(т.н. Mount Points). И уже из этой папки сделать нужную связь.
Пример
Смотрите также: