CreateSymbolicLink
我发现符号链接是重分析点的实现,因此重分析点函数可用于获取目标路径。但我需要使用重分析点的头文件似乎与
Windows Driver Kit
. 使用VS2008设置此工具包似乎是一项非常重要的任务。
编辑:Adam Mitz提出了GetFinalPathNameByHandle的建议。此函数对于本地符号链接非常有效,但对于解析远程链接(通过UNC路径)似乎不起作用。
编辑2:应Adam的要求,以下是我尝试的更多细节:
FSCTL_GET_REPARSE_POINT
/
DeviceIoControl
路线,但这会产生一个
REPARSE_DATA_BUFFER
GetFinalPathNameByHandle()
当链接存在于本地磁盘上时,工作正常(
C:\...\link
等等)。奇怪的是,我发现我可以使用
CreateFileW()
FILE_FLAG_OPEN_REPARSE_POINT
无论目标文件是否存在,都未指定标志。
什么时候
和
GetFinalPathNameByHandle()
\\?\UNC\....
),事情开始分崩离析。如果
规定,,
GetFinalPathNameByHandle()
始终返回链接路径,而不是目标路径。如果
文件\u标志\u打开\u重新分析\u点