IVssBackupComponents::SetAdditionalRestores 方法 (vsbackup.h)

在增量或差异还原操作期间,请求者使用 SetAdditionalRestores 方法向编写者指示给定组件需要执行其他还原操作才能完全检索它。

语法

HRESULT SetAdditionalRestores(
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] bool               bAdditionalRestores
);

参数

[in] writerId

编写器标识符。

[in] ct

组件的类型。 有关可能的值,请参阅 VSS_COMPONENT_TYPE

[in] wszLogicalPath

Null 结尾的宽字符串,其中包含要添加的组件的逻辑路径。

有关详细信息,请参阅 组件的逻辑路径

包含此处使用的逻辑路径的字符串的值应与使用 IVssBackupComponents::AddComponent 将组件添加到备份集时使用的相同。

逻辑路径可以为 NULL

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

[in] wszComponentName

包含组件名称的以 Null 结尾的宽字符串。

字符串的值不应为 NULL,并且应包含使用 IVssBackupComponents::AddComponent 将组件添加到备份集时使用的组件。

[in] bAdditionalRestores

如果此参数的值为 true,则此还原之后将执行组件的其他还原。 如果值为 false,则不会在此还原之后执行组件的其他还原。

返回值

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

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

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

备注

SetAdditionalRestores 方法提供的信息通常由支持显式恢复机制作为其 PostRestore 事件处理程序 (CVssWriter::OnPostRestore) (例如,Exchange Server和数据库应用程序(如 SQL Server)的一部分的编写器使用。 对于这些应用程序,在执行此类恢复后,通常无法执行其他差异还原、增量还原或日志还原。

因此,如果组件的 SetAdditionalRestores 设置为 true,这意味着此类编写器不应执行其显式恢复机制,并且应预期会执行其他差异、增量或日志还原。

当组件上的 SetAdditionalRestores 设置为 false 时,在还原组件后,应用程序可以完成其恢复操作并重新联机。

必须在 IVssBackupComponents::P reRestore 之前调用此方法。

要求

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

另请参阅

IVssBackupComponents

IVssBackupComponents::P reRestore

VSS_COMPONENT_TYPE