在还原期间使用新目标
请求者可能需要将文件还原到文件集的默认路径或其 备用位置映射以外的其他内容所指示的位置。 发生这种情况的原因有很多,例如,无法访问还原目标,或者请求者用户有意请求将文件还原到某个以前未知的位置。 在这种情况下,请求者使用新的目标机制向编写者指示它已将文件还原到磁盘上的其他区域。
并非所有编写器都支持请求者更改文件的还原目标。 请求者需要通过检查编写器的备份架构掩码 (IVssExamineWriterMetadata::GetBackupSchema) ,并验证它是否包含VSS_BS_WRITER_SUPPORTS_NEW_TARGET标志来验证编写器支持。
请求者通过 IVssBackupComponents::AddNewTarget 方法指示此类还原。 除了指定文件规范以及原始还原目标以及新的还原目标外,请求者还指定组件信息 - 逻辑路径和组件名称。
使用哪个组件的信息取决于管理添加了新目标的文件的组件是 显式包含 还是 隐式包含在 备份中。
如果显式包含管理组件,则使用其信息。 如果隐式包含管理组件,则它是组件集中的子组件。 在这种情况下,将使用组件集的定义组件的信息。
处理 PostRestore 事件时,编写器应检查查看其任何文件是否已还原到新位置。 可以使用 IVssComponent::GetNewTargetCount 和 IVssComponent::GetNewTarget 方法完成此操作。
使用的 IVssComponent 接口的实例取决于文件的管理组件是显式添加到备份还是隐式添加到备份中。