IVssCreateExpressWriterMetadata::AddComponent 方法 (vswriter.h)

将文件组添加到要备份的快速编写器的组件集。

语法

HRESULT AddComponent(
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszCaption,
  [in] const BYTE         *pbIcon,
  [in] UINT               cbIcon,
  [in] bool               bRestoreMetadata,
  [in] bool               bNotifyOnBackupComplete,
  [in] bool               bSelectable,
  [in] bool               bSelectableForRestore,
  [in] DWORD              dwComponentFlags
);

参数

[in] ct

一个VSS_COMPONENT_TYPE枚举值,该值指定组件的类型。 此参数仅支持 VSS_CT_FILEGROUP

[in] wszLogicalPath

指向以 null 结尾的宽字符串的指针,该字符串包含数据库或文件组的逻辑路径。 有关详细信息,请参阅 组件的逻辑路径

此参数是可选的,可以为 NULL

[in] wszComponentName

指向包含组件名称的 以 null 结尾的宽字符串的指针。 此字符串未本地化。

此参数是必需的,不能为 NULL。 字符串不能包含反斜杠。

[in] wszCaption

指向以 null 结尾的宽字符串的指针,该字符串包含组件的描述 (也称为“友好名称”) 。 此字符串可能已本地化,因此请求者必须假定它已本地化。

此参数是可选的,可以为 NULL。 字符串可以包含反斜杠。

[in] pbIcon

指向要显示在用户界面中的数据库图标的位图的指针。 缓冲区的大小(以字节为单位)由 cbIcon 参数指定。

此参数是可选的,可以为 NULL

[in] cbIcon

缓冲区的大小(以字节为单位)。 如果 pbIcon 参数为 NULL则 cbIcon 必须为零。

[in] bRestoreMetadata

此参数保留供将来使用,应始终设置为 false

[in] bNotifyOnBackupComplete

此参数保留供将来使用,应始终设置为 false

[in] bSelectable

一个布尔值,指示是否可以选择性地备份组件 (这意味着它可以从备份) 中排除,或者在备份编写器的任何组件时始终备份该组件。 此参数应设置为
如果组件可以有选择地备份,则为 true;如果备份任何组件时备份组件,则为 false

[in] bSelectableForRestore

一个布尔值,用于确定在备份文档中未 显式包含 某个组件时是否可以单独还原该组件。 如果组件已显式添加到备份文档,则始终可以单独选择它进行还原;在本例中,此标志没有意义。

如果此参数为 true,则组件可以自行还原;如果 为 false,则仅当正在还原整个组件集时,才能还原组件。 (有关详细信息,请参阅 VSS_COMPONENTINFO 和使用 选择性和逻辑路径。)

此参数的默认值为 false

[in] dwComponentFlags

VSS_COMPONENT_FLAGS枚举值的位掩码,指示此组件支持的功能。 此位掩码不能包含 VSS_CF_APP_ROLLBACK_RECOVERYVSS_CF_BACKUP_RECOVERY

此参数的默认值为零。

返回值

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

含义
S_OK
操作成功。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存或其他系统资源不足。
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。

注解

可以多次调用此方法,以将多个组件添加到快速编写器的元数据中。

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

AddComponent 可用于添加子组件-所有成员文件都备份为组但包含可单独还原的文件的组件。 有关详细信息,请参阅 使用还原和子组件选择性

要求

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

另请参阅

IVssCreateExpressWriterMetadata