MSDN说:“在任何给定路径上都有31个重新分析点的限制。” (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365503%28v=vs.85%29.aspx) 因此,单个文件可以有最大值。 31个重新分析点(?)
要检查文件是否具有“a”重新分析点,可以使用GetFileAttributes (这里提到:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365507%28v=vs.85%29.aspx) 并且需要获取具有FSCTL_GET_REPARSE_POINT的“重新分析点”DeviceIoControl的内容(由于声誉低而无法发布第三个链接)
但我认为如果有多个,我无法指定我想要的重新分析数据? GetFileAttributes只会说是/否而不是计数或类似的东西, 和DeviceIoControl将填充一个单独的REPARSE_GUID_DATA_BUFFER结构(根据MSDN),没有任何可能给出GUID或索引或这样的somtehing。
编辑:我的问题,如果我已经了解了31个重新分析点,以及我如何访问它们。
答案 0 :(得分:2)
我理解MSDN文档错误: 文件/目录本身只能有一个重新分析点 (当然,一个目录中可以有超过31个带有重新分析点的文件/目录)
限制31仅对嵌套符号链接(等)有效,即。 情况1: Link1-> Link2,Link2-> Link3,... Link32-> RealDir 如果我想要RealDir,就不可能打开Link1 案例2: 如果我想打开C:\ L1 \ L2 \ L3 \ L4 ... \ L32 \ file.txt 和L1是另一个目录的符号链接, 目标的子目录L2是另一个符号链接,依此类推, 使用> 31个嵌套链接也是不可能的。