MkLink

Функция FSF.MkLink создает жесткие и символические ссылки, связи каталогов, а также монтирует локальные диски на файловую систему. Функция работает только под Windows NT 4 и выше.
int WINAPI MkLink(
  const char *Src,
  const char *Dest,
  DWORD Flags
);

Параметры

Src
Имя файлового объекта, на который создаётся ссылка.
Dest
Имя создаваемой ссылки.
Flags
Тип операции. Одно из (перечисление MKLINKOP):
ОперацияОписание
FLINK_HARDLINK Создать жесткую ссылку (hardlink).
FLINK_JUNCTION Создать связь каталогов (junction).
FLINK_VOLMOUNT монтировать локальный диск на файловую систему.
FLINK_SYMLINKFILE Создать символическую ссылку-файл.
FLINK_SYMLINKDIR Создать символическую ссылку-каталог.

В дополнении к вышеуказанным операциям можно указать флаг:

ФлагОписание
FLINK_SHOWERRMSG Выводить сообщения об ошибках.
FLINK_DONOTUPDATEPANEL После создания связи не обновлять панели.

Возвращаемое значение

1 - ссылка создана.

0 - ошибка при создании ссылки:

Примечание

  1. Ссылки создаются по следующим правилам:
    • жесткие ссылки (hardlink) создаются только для файлов в пределах текущего NTFS-раздела (NT4/Win2K/NTFS);
    • связи (junction) создаются только для каталогов в пределах локальных NTFS-разделов (Win2K/NTFS 5.0);
    • монтирование локальных дисков на файловую систему только на NTFS-раздел (Win2K/NTFS 5.0)
  2. Если в качестве Src было передано значение, например "C:", то вместо связи каталогов будет монтирован диск.
  3. Если для монтирования диска Dest оканчивается слешем, то в Dest будет создан каталог "disk_N" (где N - буква диска).
  4. В Windows 2000 напрямую делать связи на папки CD-ROM нельзя, но можно это ограничение обойти, смонтировав CD-ROM диск на папку NTFS-раздела (т.н. Mount Points). И уже из этой папки сделать нужную связь.

Пример

Смотрите также:
GetNumberOfLinks