交接点

在 Windows Vista 和 Windows Server 2008 中,用户数据和系统数据的默认位置已更改。 例如,以前存储在 %SystemDrive%\Documents and Settings 目录中的用户数据现在存储在 %SystemDrive%\Users 目录中。 为了向后兼容,旧位置具有指向新位置的交接点。 例如,C:\Documents 和 Settings 现在是指向 C:\Users 的交接点。 备份应用程序必须能够备份和还原交接点。

这些交接点可按如下方式标识:

  • 它们设置了FILE_ATTRIBUTE_REPARSE_POINT、FILE_ATTRIBUTE_HIDDEN和FILE_ATTRIBUTE_SYSTEM文件属性。
  • 他们还将访问控制列表 (ACL) 设置为拒绝所有人的读取访问权限。

如果应用程序具有所需的权限,则调用特定路径的应用程序可以遍历这些交汇点。 但是,尝试枚举交接点的内容将导致失败。 出于两个原因,备份应用程序不要遍历这些交接点或尝试备份这些交接点下的数据,这一点很重要:

  • 这样做可能会导致备份应用程序多次备份相同的数据。
  • 它还可能导致循环引用 (循环) 。

Per-User交接点和系统交接点

用于在 Windows Vista 和 Windows Server 2008 中提供文件和注册表虚拟化的交接点可分为两类:每用户交接点和系统交接点。

在每个用户的配置文件中创建每用户交接点,以便为用户应用程序提供向后兼容性。 指向 C:\Users\username\Documents 的 C:\Users\username\My Documents 处的交接点是每用户交汇点的一个示例。 创建用户配置文件时,配置文件服务会创建每用户交接点。

其他交接点是不驻留在 Users\username 目录下的系统交接点。 系统交接点的示例包括:

  • 文档和设置
  • 所有用户、公共和默认用户配置文件中的交汇点

当 Windows 欢迎 ((也称为计算机开箱即用体验或 mOOBE) )调用时,由userenv.dll创建系统交接点。

注意

如果用户将系统语言更改为英语以外的语言,则将使用本地化名称创建每个用户和系统交接点。