IVssComponent::GetAlternateLocationMapping 方法 (vswriter.h)
GetAlternateLocationMapping 用于返回文件集的文件还原备用位置。 此方法可由编写器或请求者调用。
语法
HRESULT GetAlternateLocationMapping(
[in] UINT iMapping,
[out] IVssWMFiledesc **ppFiledesc
);
参数
[in] iMapping
特定映射的索引。 此参数的值是一个介于 0 到 n–1(含 0 到 n–1)的整数,其中 n 是与当前组件关联的备用位置映射的总数。 n 的值由 IVssComponent::GetAlternateLocationMappingCount 返回。
[out] ppFiledesc
指向包含映射信息的 IVssWMFiledesc 对象的双重间接指针。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功返回属性值。 |
|
其中一个参数值无效。 |
|
调用方内存或其他系统资源不足。 |
|
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
找不到指定的项。 |
注解
GetAlternateLocationMapping 返回的备用位置映射不仅可以来自当前组件中的文件,还可以来自其任何不可选择的子组件中的文件。
IVssComponent::GetAlternateLocationMapping 返回的值也不应与 IVssExamineWriterMetadata::GetAlternateLocationMapping 返回的值混淆:
- IVssExamineWriterMetadata::GetAlternateLocationMapping 是可将文件还原到的备用位置映射(如有必要)。
- IVssComponent::GetAlternateLocationMapping 是文件实际还原到的备用位置。
- VSS_RME_RESTORE_TO_ALTERNATE_LOCATION备份时 (设置还原方法) 。
- 其还原目标在还原时 () 设置为VSS_RT_ALTERNATE。
如果符合以下任一条件,则可以将文件还原到备用位置映射:
- 还原方法VSS_RME_RESTORE_IF_NOT_THERE并且磁盘上已存在文件的某个版本。
- 还原方法VSS_RME_RESTORE_IF_CAN_REPLACE并且磁盘上存在文件版本,无法替换。
GetAlternateLocationMapping 返回的映射引用还原文件过程中使用的备用位置映射。
备用位置映射由 IVssBackupComponents::AddAlternativeLocationMapping 添加到 IVssComponent 对象。
调用方必须使用它指向的 IVssWMFiledesc 对象调用 IUnknown::Release 来释放 ppMapping 参数持有的系统资源。
有关 VSS 下备份和还原文件位置的详细信息,请参阅 非默认备份和还原位置。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vswriter.h (包括 Vss.h、VsWriter.h) |
Library | VssApi.lib |