IVssBackupComponents::AddComponent 方法 (vsbackup.h)

AddComponent 方法用于将备份组件文档中的所有必需组件显式添加到备份集, (不可为备份组件选择,而不选择备份上级) ,并且请求者认为必要时可为备份) 组件选择此类可选 (。 组件集的成员 (具有备份上级) 可选组件的成员隐式包含在备份集中,但不会显式添加到备份组件文档。

语法

HRESULT AddComponent(
  [in] VSS_ID             instanceId,
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName
);

参数

[in] instanceId

标识编写器的特定实例。

[in] writerId

编写器类标识符。

[in] ct

标识组件的类型。 有关允许的输入值,请参阅 VSS_COMPONENT_TYPE 文档。

[in] wszLogicalPath

以 Null 结尾的宽字符串,包含备份组件的可选对象的逻辑路径。 有关详细信息,请参阅组件的逻辑路径。

添加组件时不需要逻辑路径。 因此,此参数的值可以为 NULL

对可以出现在非 NULL 逻辑路径中的字符没有限制。

[in] wszComponentName

以 Null 结尾的宽字符串,包含备份组件可选对象的名称。

此参数的值不能为 NULL

对可以出现在非 NULL 逻辑路径中的字符没有限制。

返回值

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

含义
S_OK
已成功添加组件。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存不足或其他系统资源。
VSS_E_BAD_STATE
备份组件对象未初始化,在还原操作期间调用了此方法,或者尚未在正确的顺序中调用此方法。
VSS_E_INVALID_XML_DOCUMENT
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_OBJECT_ALREADY_EXISTS
对象是重复的。 已存在具有相同逻辑路径和组件名称的组件。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

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

注解

仅当备份操作在组件模式下发生时, AddComponent 方法才有意义。

应仅使用 AddComponent 将这些类型的组件添加到备份组件文档。

  • 可选择备份的组件 (查看 备份) 的可选择性
  • 不可选择的备份组件,没有可选择的备份上级。

对于逻辑路径层次结构中具有备份上级可选择的备份组件,不可选择是由备份上级选择定义的组件集的一部分。 添加上级时,这些组件将隐式添加到备份组件文档,并且绝不应使用 AddComponent 显式添加到请求者的备份组件文档中。这样做的结果是未定义 (请参阅 使用选择性和逻辑路径) 。

对于备份组件,可选择备份上级组件也是组件集中的子组件。 如果选择其上级 (未使用 AddComponent) 将其添加到备份组件文档中,则可以隐式选择它们,也可以使用 AddComponent 显式选择它们。

给定编写器类的给定实例的每个组件的逻辑路径和名称的组合必须是唯一的。 尝试使用 wszLogicalPath 和 wszComponentName 的相同值调用 AddComponent 两次会导致VSS_E_OBJECT_ALREADY_EXISTS错误。

必须区分 instanceIdwriterID,因为可以针对同一编写器运行多个副本。

可以通过调用 IVssExamineWriterMetadata::GetIdentity 来查找编写器的类标识符和实例。

在调用 AddComponent 之前,必须通过调用 IVssBackupComponents::InitializeForBackupIVssBackupComponents::GatherWriterMetadata 来初始化请求方进行备份。 请参阅 备份初始化概述

在调用 IVssBackupComponents::D oSnapshotSet 创建卷影副本之前,请求者必须调用 AddComponent 将所需的组件添加到卷影副本。 请参阅 备份发现阶段概述备份前任务概述

要求

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

另请参阅

CVssWriter::Initialize

IVssBackupComponents

IVssBackupComponents::P repareForBackup

IVssExamineWriterMetadata::GetIdentity

VSS_COMPONENT_TYPE