IVssComponent::GetDirectedTarget 方法 (vswriter.h)

GetDirectedTarget 方法在备份时将编写器存储的信息返回到备份组件文档,以指示在还原文件时, (源文件) 应重新映射。 文件可以还原到新的还原目标和/或其数据范围,这些数据已还原到具有还原目标的不同位置。

编写器或请求者都可以调用此方法。

语法

HRESULT GetDirectedTarget(
  [in]  UINT iDirectedTarget,
  [out] BSTR *pbstrSourcePath,
  [out] BSTR *pbstrSourceFileName,
  [out] BSTR *pbstrSourceRangeList,
  [out] BSTR *pbstrDestinationPath,
  [out] BSTR *pbstrDestinationFilename,
  [out] BSTR *pbstrDestinationRangeList
);

参数

[in] iDirectedTarget

定向目标的索引号。 此参数的值是一个介于 0 到 n–1(含 1)的整数,其中 n 是与给定组件 (及其子组件关联的定向目标总数(如果它定义组件集) )。 n 的值由 IVssComponent::GetDirectedTargetCount 返回。

[out] pbstrSourcePath

调用方分配的变量的地址,该变量接收包含目录路径的字符串,该路径在备份时包含要还原 (源文件) 的文件。 如果组件) 定义组件集,则此路径应匹配或位于组件或其子组件之一 (中已有的文件集的路径。

[out] pbstrSourceFileName

调用方分配的变量的地址,该变量接收一个字符串,其中包含备份时 (文件的名称,) 将在还原期间重新映射 (源文件) 。 此文件的名称不应包含任何通配符,并且必须是与 pbstrSourcePath) 源路径 (同一文件集的成员。

[out] pbstrSourceRangeList

调用方分配的变量的地址,该变量接收一个字符串,其中包含以逗号分隔的文件偏移量和长度列表,指示源文件支持范围 (要) 还原的文件部分。

源文件支持范围的数量和长度必须与目标文件支持范围的数量和大小匹配。

[out] pbstrDestinationPath

调用方分配的变量的地址,该变量接收包含还原时源文件数据将重新映射到的路径的字符串。

[out] pbstrDestinationFilename

调用方分配的变量的地址,该变量接收一个字符串,其中包含源文件数据在还原时将重新映射到的文件的名称。

[out] pbstrDestinationRangeList

调用方分配的变量的地址,该变量接收一个字符串,其中包含一个以逗号分隔的文件偏移量和长度列表,指示目标文件支持范围 (源文件的各个部分) 要还原到的位置。

目标文件支持范围的数量和长度必须与源文件支持范围的数量和大小匹配。

返回值

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

含义
S_OK
已成功返回属性值。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存不足或其他系统资源。
VSS_E_INVALID_XML_DOCUMENT
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_OBJECT_NOT_FOUND
找不到指定的项。

注解

如果对 GetDirectedTarget 的调用成功,则调用方负责通过调用 SysFreeString 函数释放每个返回的字符串。

仅当还原目标VSS_RT_DIRECTED时,请求者才会使用备份组件文档中存储的定向目标信息。

列出 (wszSourceRangeswszDestinationRanges) 的范围语法是 offset1:length1、offset2:length2 的逗号分隔列表,其中每个偏移量和长度是一个 64 位整数,分别指定字节偏移量和长度(以字节为单位)。 偏移量和长度可以表示为十六进制值或十进制值。

其定向目标由 GetDirectedTarget 返回的文件可能是当前组件或其定义的任何子组件的文件的成员。

调用方应通过调用 SysFreeString 释放 pbstrSourcePathpbstrSourceFileNamepbstrSourceRangeListpbstrDestinationPathpbstrDestinationFilenamepbstrDestinationRangeList 参数保留的内存。

如果要备份的部分文件范围与定向目标源范围匹配, (请参阅 IVssComponent::AddPartialFile) ,可将部分文件添加为定向目标。 这样,就可以重新映射部分文件。

如果定向目标源文件已备份为部分文件,则请求者需要检查才能正确实现还原。 如果是这种情况,则请求者将定向目标信息与部分文件信息 (IVssComponent::GetPartialFile) 结合使用,在还原期间实现备份数据的重新映射。

要求

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

另请参阅

IVssComponent

IVssComponent::AddDirectedTarget

IVssComponent::GetDirectedTargetCount