IVssBackupComponents::BackupComplete 方法 (vsbackup.h)

BackupComplete 方法会导致 VSS 生成 BackupComplete 事件,该事件向编写者发出备份过程已完成的信号。

语法

HRESULT BackupComplete(
  [out] IVssAsync **ppAsync
);

参数

[out] ppAsync

指向 IVssAsync 实例的 双重间接指针。

返回值

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

含义
S_OK
已成功返回指向 IVssAsync 接口实例的指针。 有关 pHrResult 参数返回的有效值,请参阅 IVssAsync::QueryStatus
E_INVALIDARG
ppAsync 不指向有效的指针;即为 NULL
E_OUTOFMEMORY
调用方内存或其他系统资源不足。
VSS_E_BAD_STATE
备份组件对象未初始化,在还原操作期间调用了此方法,或者未按正确的顺序调用此方法。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

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

VSS_E_UNEXPECTED_WRITER_ERROR
与编写器通信期间发生意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

注解

在组件模式下工作时, (IVssBackupComponents::SetBackupState 使用 TRUE) 的 select components 参数调用时,编写器可以使用 IVssComponent::GetBackupSucceeded 确定显式包含在备份组件文档组件中的任何组件的备份成功与失败。 因此,行为良好的备份应用程序 (请求者) 必须在处理每个组件后调用 IVssBackupComponents::SetBackupSucceededed ,然后再调用 BackupComplete

如果对 IVssBackupComponents::D oSnapshotSet 的调用失败,请不要调用此方法。 有关请求者如何在备份操作中使用 DoSnapshotSetSetBackupSucceededBackupComplete 的详细信息,请参阅 预备份任务概述文件的实际备份概述

此操作是异步的。 调用方可以在返回的 IVssAsync 接口中使用 QueryStatus 接口方法来确定通知的状态。

调用 BackupComplete 后,请求者必须调用 GatherWriterStatus ,使编写器会话设置为已完成状态。

注意 这仅在 Windows Server 2008 Service Pack 2 (SP2) 及更早版本上是必需的。
 
备份应用程序可以选择在创建卷影副本后随时通过调用 IVssAsync::Cancel 中止备份。

调用应用程序负责调用 IUnknown::Release ,以便在不再需要返回的 IVssAsync 时释放其保留的资源。

要求

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

另请参阅

IVssAsync

IVssAsync::Cancel

IVssAsync::QueryStatus

IVssBackupComponents

IVssBackupComponents::SetBackupState

IVssBackupComponents::SetBackupSucceeded