
_START_ARTICLE_
NTFS重解析点
_START_SECTION_
硬链接
_START_PARAGRAPH_
NTFS 硬链接：从Windows NT 4开始：同一驱动器上的文件，有多个路径指向它。从Windows 2000开始，Windows API包括一个CreateHardLink() 函数来创建硬链接，并且 DeleteFile() 可以移除它们。所有Windows NT版本都可以使用GetFileInformationByHandle() 来确定一个文件已关联的硬链接数量。硬链接需要NTFS分区。运行在Windows上的类Unix仿真或软件兼容层（如Cygwin和基于UNIX应用程序的子系统）允许在Windows上使用POSIX接口。大多数现代操作系统不允许硬链接目录以避免无限递归目录；而且，硬链接目录可能导致父目录的条目不一致；通常使用符号链接和NTFS目录交接点达到此目的。硬链接只能对同一文件系统上的文件创建。如果需要创建到另一文件系统的链接，应该使用符号链接。硬链接可以使用mklink /H命令创建。_NEWLINE_硬链接使用与原文件相同的MFT记录。添加一个硬链接会创建一个新的文件名属性并增加硬链接计数器（每个新创建的文件+1）。删除一个硬链接会移除相应的文件名并将硬链接计数器-1。当计数器归零时，文件系统将删除该文件、释放其占用的磁盘空间及其MFT记录。所有名称属性是独立的，因此删除、移动或重命名文件不会影响其他硬链接。
_START_SECTION_
卷挂载点
_START_PARAGRAPH_
NTFS卷挂载点类似Unix挂载点，将另一个文件系统的根附加到一个目录。在NTFS中，这允许额外的文件系统不逐一占用驱动器号（如 C:、D:）并挂载。_NEWLINE_如果一个卷被挂在到另一个卷的现有目录上，该目录以前列出的内容将被隐藏，已挂载卷的根目录将取代它。已挂载卷仍然有自己单独分配的驱动器号。文件系统不允许卷被手动互相挂载。卷挂载点可以持久或非持久存在，两者区别是系统重启后是否会自动重新挂载。_NEWLINE_已挂载卷可能使用非NTFS的文件系统，并可能有自己的安全设置和根据远程文件系统策略重新映射的访问权限。
_START_SECTION_
目录交接点
_START_PARAGRAPH_
目录交接点类似卷挂载点，但引用目标为文件系统中的其他目录而非其他卷。举例来说，目录 C:\exampledir 有一个目录junction属性，其包含到D:\linkeddir 的链接，因此当它被用户模式的应用程序访问时，将会自动引用D:\linkeddir 目录。此功能在概念上类似Unix中对目录的符号链接，除了NTFS中的目标必须始终是另一个目录（典型的Unix文件系统允许符号链接的目标是任何类型的文件）。_NEWLINE_目录交接点（可以在命令行提示符中使用MKLINK /J junctionName targetDirectory 创建，以及用RMDIR junctionName 移除）是持久的，并在服务器侧解析，它们与本地文件系统或挂载内容所在的父卷共享相同的安全领域；不过目录交接点本身可能有不同的安全设置。取消一个目录交接点链接不会删除目标目录中的文件。_NEWLINE_某些目录交接点在Windows Vista上已默认安装，目的是保证对以前Windows版本的兼容性，例如系统分区根目录中的Documents and Settings就是链接到同个卷根目录中的的Users物理目录。不过它在默认情况下是隐藏的，并且设定了安全设置以要求Windows文件资源管理器拒绝在外壳和大多数应用程序中打开它，除了本地内置的SYSTEM用户或本地管理员组（这两个用户帐户用于在系统中安装软件）。这个额外的安全性限制是为了避免用户误入此目录和看到、误以为并删除明显重复的文件。目录交接点的语义不同于硬链接，对目标内容和引用容器本身都不存在引用计数。_NEWLINE_目录交接点是一种软链接（它们可以持久存在，哪怕目标目录被删除），可以作为一种有限的符号链接使用（对目标位置有所约束），但它是一个优化的版本，重解析点的设计允许更快地处理它，比NTFS符号链接具有更小的系统开销，并且可以在服务器侧解析（当发现于远程共享目录时）。
_START_SECTION_
符号链接
_START_PARAGRAPH_
符号链接（或软链接）在Windows Vista中被引入。符号链接在客户端侧解析。因此当符号链接被共享时，目标受到客户端而非服务器的访问限制。_NEWLINE_符号链接的创建可以指向文件（用 MKLINK 符号链接 目标文件 创建）或目录（用 MKLINK /D 符号链接 目标目录 创建），但不同于Unix符号链接，创建链接时必须提供链接的类型。符号链接创建时不需要目标存在或可用：在符号链接可用时才会检查可用性，NTFS也会在那时检查类型（文件/目录）是否正确；如果现有目标的类型错误，将会返回“找不到”错误。_NEWLINE_它们还可引用远程主机上的共享目录或文件，以及共享项目录中的子目录：它们的目标不会立即挂载，只在使用OpenFile()或CreateFile() API时临时请求。
_START_SECTION_
分布式链接跟踪（DLT）
_START_PARAGRAPH_
分布式链接跟踪允许应用程序跟踪文件、快捷方式和OLE链接，即使它已被重命名或移动到同个机器、域或工作组中的另一个分卷。跟踪实现为一个系统服务，使用对象标识符（OID）的索引存储在一个元文件中。当应用程序请求跟踪一个文件或目录时，跟踪服务创建指向该文件的OID记录。在文件被重命名、复制或移动到一个NTFS v3分卷时，对象ID也将被复制。因此跟踪服务最终能找到目标文件。
_START_SECTION_
单实例存储（SIS）
_START_PARAGRAPH_
当多个目录有不同但类似的文件时，这些文件可能有着相同的内容。单实例存储允许相同的文件被合并为一个文件，并创建一个到合并后文件的引用。SIS包括：一个文件系统筛选器，它管理复制、修改和合并文件；一个用户空间服务（或称groveler），它搜索相同并需要合并的文件。SIS的主要设计目的是远程安装的服务器，其存在的多个安装镜像可能包含许多相同的文件，SISK可以合并这些。不同于硬链接，每个文件仍然是不同的；对一个副本的更改不会改变其他的副本。这类似于写时复制，但那个技术是内存复制并未真正完成，直至副本被修改。
_START_SECTION_
分层存储管理（HSM）
_START_PARAGRAPH_
分层存储管理是一种转移文件的手段，它根据文件热度将数据在普通与昂贵的存储介质间转移。在下次访问该文件时，该文件的重解析点会确定所需的存储介质并从那里检索。
_START_SECTION_
原生结构化存储（NSS）
_START_PARAGRAPH_
NSS原是ActiveX文档存储技术，它已被微软停止使用。它允许ActiveX文档存储在ActiveX内部使用的多流格式中。NSS文件系统筛选器可以被加载并处理透明传输到应用该程序的多个流，并在文件被传输到非NTFS格式的磁盘卷时将多个流变为单个流。
_START_SECTION_
编程解析
_START_PARAGRAPH_
重解析点tag是个DWORD，为获取它，使用FindFirstFile函数，如果输出参数的dwFileAttributes结构域包含了FILE_ATTRIBUTE_REPARSE_POINT 属性，那么dwReserved0结构域就是重解析点的tag值。_NEWLINE_为判断文件系统是否支持重解析点，调用GetVolumeInformation函数检查FILE_SUPPORTS_REPARSE_POINTS比特标志。_NEWLINE_DeviceIoControl函数可以设置、修改、获取、删除重解析点。_NEWLINE_GetFileAttributes函数可判断一个文件或目录是否包含重解析点。_NEWLINE_CreateFile函数带着FILE_FLAG_OPEN_REPARSE_POINT，可以打开一个重解析点文件。