IVssComponent::AddDirectedTarget 方法 (vswriter.h)

AddDirectedTarget 方法允许编写器在还原时指示在还原文件时,它 (应重新映射源文件) 。 可以将文件还原到新的还原位置和/或还原到还原位置内不同偏移量的数据范围。

此方法只能在还原操作期间由编写器调用。

处理 BackupComplete (CVssWriter::OnBackupComplete) 或 BackupShutdown (CVssWriter::OnBackupShutdown) 事件时,无法调用此方法。

语法

HRESULT AddDirectedTarget(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilename,
  [in] LPCWSTR wszSourceRangeList,
  [in] LPCWSTR wszDestinationPath,
  [in] LPCWSTR wszDestinationFilename,
  [in] LPCWSTR wszDestinationRangeList
);

参数

[in] wszSourcePath

以 Null 结尾的宽字符串,其中包含还原时目录的路径,其中包含要还原的文件 (源文件) 。 如果组件) 定义组件集,则此路径应与组件 (或其子组件之一中已有的文件集的路径匹配或匹配。

[in] wszSourceFilename

以 Null 结尾的宽字符串,包含备份时 (文件名) ,将在还原时重新映射 (源文件) 。 (wszSourceFilename) 文件名不能包含通配符 (* 或 ?) ,并且必须与包含 wszSourcePath () 源路径的文件集的文件规范一致。

[in] wszSourceRangeList

以 null 结尾的宽字符串,其中包含以逗号分隔的文件偏移量和长度列表,指示源文件支持范围 (文件) 实际还原的部分。

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

[in] wszDestinationPath

以 Null 结尾的宽字符串,其中包含在还原时将重新映射源文件数据的路径。

[in] wszDestinationFilename

以 Null 结尾的宽字符串,其中包含在还原时源文件数据将重新映射到的文件的名称。 (wszDestinationFilename) 文件名不能包含通配符 (* 或 ?) 。

[in] wszDestinationRangeList

以 null 结尾的宽字符串,其中包含以逗号分隔的文件偏移量和长度列表,指示目标文件支持范围 (源文件的各部分将还原到) 的位置。

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

返回值

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

含义
S_OK
已成功设置项。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存或其他系统资源不足。
VSS_E_BAD_STATE
编写器未调用此方法,或者,如果由编写器调用,则在还原操作期间未调用此方法,或者在处理 BackupCompleteBackupShutdown 事件时调用此方法。

注解

只有编写器才能调用 AddDirectedTarget,并且只能在还原操作期间调用。

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

AddDirectedTarget 方法可以应用于当前组件中管理的任何文件,如果组件定义了组件集,则可以应用到其任何不可选择的子组件中。

源和目标文件规范可能指向同一文件。 这将允许在还原时将文件重新映射到自身。

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

源和目标范围参数中的条目数及其大小必须匹配。

如果组件定义了组件集,则 AddDirectedTarget 可以使用已由组件或其子组件之一管理的任何文件作为其源文件。

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

在这种情况下,请求者通过调用 IVssComponent::GetDirectedTarget 方法检索定向目标信息,并使用该方法在还原期间实现备份数据的重新映射。

要求

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

另请参阅

IVssComponent

IVssComponent::GetDirectedTarget

IVssComponent::GetDirectedTargetCount