Поделиться через


Функция CreateSymbolicLinkTransactedA (winbase.h)

[Корпорация Майкрософт настоятельно рекомендует разработчикам использовать альтернативные средства для удовлетворения потребностей вашего приложения. Многие сценарии, для работы с которыми был разработан TxF, можно реализовать с помощью более простых и доступных методов. Кроме того, TxF может быть недоступен в будущих версиях Microsoft Windows. Дополнительные сведения и альтернативы TxF см. в разделе Альтернативы использованию транзакционной NTFS.]

Создает символьную ссылку как транзакцию.

Синтаксис

BOOLEAN CreateSymbolicLinkTransactedA(
  [in] LPCSTR lpSymlinkFileName,
  [in] LPCSTR lpTargetFileName,
  [in] DWORD  dwFlags,
  [in] HANDLE hTransaction
);

Параметры

[in] lpSymlinkFileName

Символьная ссылка, которую необходимо создать.

[in] lpTargetFileName

Имя целевого объекта для создаваемой символьной ссылки.

Если с lpTargetFileName связано имя устройства, ссылка считается абсолютной; В противном случае ссылка обрабатывается как относительная связь.

[in] dwFlags

Указывает, является ли целевой объект ссылки lpTargetFileName каталогом.

Значение Значение
0x0
Целевой объект ссылки — это файл.
SYMBOLIC_LINK_FLAG_DIRECTORY
0x1
Целевым объектом ссылки является каталог.

[in] hTransaction

Дескриптор транзакции. Этот дескриптор возвращается функцией CreateTransaction .

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Символические ссылки могут быть абсолютными или относительными. Абсолютные ссылки — это ссылки, указывающие каждую часть имени пути; относительные ссылки определяются относительно того, где описатели относительной ссылки находятся в указанном пути. Относительные ссылки указываются с помощью следующих соглашений:

  • Соглашения с точками (. и ..) — например, ".. \" разрешает путь относительно родительского каталога.
  • Имена без косой черты (\\) — например, tmp разрешает путь относительно текущего каталога.
  • Корневой относительный— например, "\Windows\System32" разрешается в "текущий диск:\Windows\System32".
  • Текущий рабочий каталог — относительный. Например, если текущим рабочим каталогом является C:\Windows\System32, "C:File.txt" разрешается в "C:\Windows\System32\File.txt".
    Примечание Если указать текущую ссылку относительного рабочего каталога, она создается как абсолютная ссылка из-за того, как текущий рабочий каталог обрабатывается на основе пользователя и потока.
     
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология Поддерживается
Протокол SMB 3.0 Нет
SMB 3.0 Transparent Failover (TFO) Нет
SMB 3.0 с масштабируемыми общими папками (SO) Нет
Файловая система общего тома кластера (CSVFS) Нет
Восстанавливаемая файловая система (ReFS) Нет
 

SMB 3.0 не поддерживает TxF.

Примечание

Заголовок winbase.h определяет CreateSymbolicLinkTransacted в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции управления файлами

Символьные ссылки

Поддержка транзакций в NTFS