关于 System.IO.FileAttributes 的 Reparse Points

时间:2021-10-19 10:29:35

关于Reparse Points找到下面的解释,要是能有更进一步的解释说明就更好了

Reparse Points其实是一个用户自定义的数据集合,它可以包含在一个文件或目录中。这种格式的数据能够被特定的应用程序(负责存储数据)和文件系统过滤程序(负责解释数据和处理文件)所理解。当一个应用程序设置了一个再解析点时,它存储这个数据和再解析标记(唯一标识该数据)。当文件系统打开一个含有再解析点的文件时,它会尝试找到再解析标记所标识的文件系统过滤程序。如果文件系统过滤程序被发现,该文件系统过滤程序处理该文件中的数据。如果一个文件系统过滤器没有找到,该文件打开操作失败。

例如,再解析点可以用来实现ntfs文件系统链接和Microsoft远程存储服务器(RSS, Microsoft Remote Storage Server)。RSS采用一个管理员定义的规则,以把文件移动到长期存储介质中,如磁带或光盘。它使用再解析点,储存在文件系统中的文件资料。此信息存储在一个存根文件,其中包含了一个再解析点(它的数据指向了实际的设备),文件系统过滤器可以使用此信息来得到文件。

Reparse Points有以下限制:

1)再解析点可以建立一个目录,但目录必须为空。否则,ntfs文件系统建立重分析点会失败。

2)您不能在一个已包含重新分析点的目录中创建目录和文件。

3)重新分析点和扩展属性是相互排斥的。在ntfs文件系统中,当该文件包含扩展属性时,不能创建再解析点,同样的,当该文件包含再解析点时,它不能创建一扩展属性。

4)重分析点数据,包括标签和可选的guid,不能超过16千字节。如果数据量超过这个限制,设置一个重新分析点失败。

5)在任何给定的路径再解析点的限制是31个。