设置 VSS 还原方法
还原操作的配置实际上在数据备份期间开始,当编写者在其编写器元数据文档中指定如何还原其数据时。
注意
API MoveFileEx 不能用于还原注册表文件。
这些规范称为 还原方法 或原始 还原目标,可以在还原期间由编写器设置新还原目标或由还原到新位置的请求者修改, (请参阅 非默认备份和还原位置) 。
通过调用 IVssCreateWriterMetadata::SetRestoreMethod,编写器指示应在其编写器元数据文档中使用哪种还原方法。 还原方法设置为编写器范围,并应用于编写器管理的所有组件中的所有文件。
请求者获取 (,并且必须通过调用 IVssExamineWriterMetadata::GetRestoreMethod 来遵守此信息) 。
还原方法由 VSS_RESTOREMETHOD_ENUM 枚举定义,该枚举传递给 IVssCreateWriterMetadata::SetRestoreMethod ,并从 IVssExamineWriterMetadata::GetRestoreMethod 返回。
编写器元数据文档支持以下有效的还原方法, (还原方法VSS_RME_UNDEFINED指示编写器错误) 。 这些图总结了如何实现各种受支持的和定义的还原方法, (VSS_RME_CUSTOM没有与之关联的图,因为根据定义,它特定于编写器,并且必须遵循特定的编写器 API 和文档) :
- VSS_RME_RESTORE_IF_NOT_THERE。 如果磁盘上没有任何文件,则将组件文件还原到磁盘。 在 发生 PreRestore 事件后,应检查目标文件状态。
- VSS_RME_RESTORE_IF_CAN_REPLACE。 如果可以替换所有文件,请将文件还原到磁盘。 在 发生 PreRestore 事件后,应检查目标文件状态。
- VSS_RME_STOP_RESTORE_START。 还原文件之前,服务将停止。
- VSS_RME_RESTORE_TO_ALTERNATE_LOCATION。 将文件还原到备用位置的磁盘。 备用位置映射在编写器元数据文档中指定。
- VSS_RME_RESTORE_AT_REBOOT。 导致在计算机重新启动时 (覆盖) 还原文件。
- VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE。 如果无法将某个文件还原到正在运行的系统上的磁盘,则会在计算机重新启动时还原 (覆盖) 。
- VSS_RME_CUSTOM。 预定义方法均不起作用;备份应用程序必须使用专用 API 来执行还原操作。 对于此备份方法,请求者必须完全理解相关的编写器。 请参阅当前支持的实例 的特殊 VSS 用例 。