createSymbolicLinkTransactedA 函数 (winbase.h)

[Microsoft 强烈建议开发人员利用替代方法来实现应用程序的需求。 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 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CSV)
弹性文件系统 (ReFS)
 

SMB 3.0 不支持 TxF。

注意

winbase.h 标头将 CreateSymbolicLinkTransacted 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

文件管理函数

符号链接

事务性 NTFS