IVssExamineWriterMetadata::GetAlternateLocationMapping 方法 (vsbackup.h)

GetAlternateLocationMapping 方法获取文件集的特定备用位置映射。

语法

HRESULT GetAlternateLocationMapping(
  [in]  UINT           iMapping,
  [out] IVssWMFiledesc **ppFiledesc
);

参数

[in] iMapping

特定映射的索引。 此参数的值是一个介于 0 到 n–1(含)的整数之间,其中 n 是与给定编写器关联的备用位置映射的总数。 n 的值由 IVssExamineWriterMetadata::GetRestoreMethod 返回。

[out] ppFiledesc

指向包含备用位置映射信息的 IVssWMFiledesc 对象的双间接指针。

返回值

下面是此方法的有效返回代码。

含义
S_OK
已成功返回指向 IVssWMFiledesc 接口的指针。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存不足或其他系统资源。
VSS_E_INVALID_XML_DOCUMENT
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_OBJECT_NOT_FOUND
指定的备用位置映射不存在。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支持此值。 改用E_UNEXPECTED。

注解

IVssExamineWriterMetadata::GetAlternateLocationMapping 返回的值不应与 IVssComponent::GetAlternateLocationMapping 返回的值混淆。

IVssComponent::GetAlternateLocationMapping 是文件还原到的备用位置。

IVssExamineWriterMetadata::GetAlternateLocationMapping 是可将文件还原到的备用位置映射(如有必要)。

如果以下任一情况为 true,应始终将文件还原到其备用位置映射:

  • VSS_RME_RESTORE_TO_ALTERNATE_LOCATION备份时 (设置还原方法) 。
  • 其还原目标在还原时 () 设置为VSS_RT_ALTERNATE。
在任一情况下,如果未定义有效的备用位置映射,则构成编写器错误。

如果以下任一情况为 true,则文件可以还原到备用位置映射:

  • 还原方法VSS_RME_RESTORE_IF_NOT_THERE并且磁盘上已存在文件版本。
  • 还原方法VSS_RME_RESTORE_IF_CAN_REPLACE磁盘上存在文件版本,无法替换。
同样,如果未定义有效的备用位置映射,则构成编写器错误。

备用位置映射仅在还原操作期间使用,不应与备用路径混淆,该路径仅在备份操作期间使用。

调用方负责调用 IUnknown::Release 以释放返回的 IVssWMFiledesc 对象的资源。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h)
Library VssApi.lib

另请参阅

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent::GetAlternateLocationMapping

IVssExamineWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod

IVssWMFiledesc