IVssComponent::AddPartialFile 方法 (vswriter.h)
AddPartialFile 方法指示仅备份给定文件的某些部分,以及这些部分。
只有编写器才能调用此方法,并且只能在备份操作期间调用此方法。
语法
HRESULT AddPartialFile(
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFilename,
[in] LPCWSTR wszRanges,
[in] LPCWSTR wszMetadata
);
参数
[in] wszPath
以 Null 结尾的宽字符串,其中包含部分文件操作中涉及的文件的路径。
路径可以包含环境变量 (例如 %SystemRoot%) ,但不能包含通配符。
不要求路径以反斜杠 (“”) 结尾。 由应用程序来检索此信息以检查。
如果组件) 定义组件集,则此路径应与组件 (或其子组件之一中已有的文件集的路径匹配或匹配。
[in] wszFilename
以 Null 结尾的宽字符串,包含部分文件操作中涉及的文件的名称。 (wszFilename) 文件的名称不能包含通配符 (* 或 ?) ,并且必须与包含 wszPath () 源路径的文件集的文件规范一致。
[in] wszRanges
以 Null 结尾的宽字符串,其中包含构成部分文件支持范围的文件偏移量和长度列表 (实际要备份) 文件的各部分,或者包含此类列表的文件的名称。
需要指定部分文件支持范围,此值不能为 NULL。
[in] wszMetadata
以 Null 结尾的宽字符串,其中包含编写器验证部分文件还原操作所需的任何其他元数据。 此元数据字符串中的信息对请求者是不透明的。
如果不需要其他元数据,此值可以为 NULL。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功设置项。 |
|
其中一个参数值无效。 |
|
调用方内存或其他系统资源不足。 |
|
编写器未调用方法,或者,如果由编写器调用,则未在还原操作期间调用。 |
注解
只有编写器可以调用此方法,并且编写器无法在还原操作期间调用此方法。
列出 wszRanges) (范围的语法是 offset1:length1, offset2:length2 形式的逗号分隔列表的语法,其中每个偏移量和长度都是一个 64 位整数,分别指定字节偏移量和长度(以字节为单位)。 偏移量和长度可以表示为十六进制值或十进制值。
如果 wszRange 引用包含范围文件 () 的所有偏移量和长度的文件, 则 wszRange 将仅包含该文件的完整路径。
范围文件必须是具有以下格式的二进制文件:
- 一个 64 位整数,指示需要备份的不同文件范围的数量
- 每个范围以一对 64 位整数表示:要备份的文件的偏移量(以字节为单位),以及从要备份的偏移量开始的数据长度
请求者可以使用 IVssComponent::GetPartialFile 检索部分文件信息,并使用 GetPartialFile 返回的偏移量和长度信息,在还原时将备份部分还原到磁盘上文件副本中的相应位置。
如果组件定义组件集) ,则 AddPartialFile 可以应用于已由组件 (或其子组件之一管理的文件,或者它可以向组件添加新文件并指示它将参与部分文件操作。
当指示要参与的文件是新文件时,该文件必须存在于卷影复制的卷上,并且其路径 (wszPath) 应匹配或位于组件 (或其子组件之一中已有的路径(如果该组件定义组件集) )。 但是,文件的文件规范 (wszFileSpec) 不应与组件中的文件规范匹配。
任何新添加的文件都不支持备用位置映射。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vswriter.h (包括 Vss.h、VsWriter.h) |
Library | VssApi.lib |