CVssWriter::OnBackupComplete 方法 (vswriter.h)
OnBackupComplete 方法由编写器在 BackupComplete 事件之后调用。 它用于执行备份后认为必要的操作。 但是,这些操作无法修改备份组件文档。
OnBackupComplete 是一种虚拟方法。 它由 CVssWriter 基类实现,但可由派生类重写。
语法
bool OnBackupComplete(
[in] IVssWriterComponents *pComponent
);
参数
[in] pComponent
指向 VSS 传入的 IVssWriterComponents 对象的指针,为方法提供对编写器组件信息的访问权限。 如果请求者不支持组件 (如果 CVssWriter::AreComponentsSelected 返回 false) ,则此参数的值可能为 NULL。
返回值
由基类实现时, OnBackupComplete 始终返回 true。
此方法的任何其他实现应返回 true ,出现严重错误时除外。 如果发生严重错误,该方法必须调用 CVssWriter::SetWriterFailure 方法,以在返回 false 之前提供失败说明。 如果发生非严重错误,该方法仍应调用 SetWriterFailure ,但返回 true。 如果错误是由暂时性问题引起的,该方法应在 对 SetWriterFailure 的调用中指定VSS_E_WRITERERROR_RETRYABLE。
在发生故障的所有情况下, 方法都应将事件写入事件日志,以报告失败的确切原因。
注解
CVssWriter 基类对此方法的默认实现返回 true,而不执行任何其他操作。
如果编写器将在备份结束时执行特殊操作,则可以重写默认实现。
生成 BackupComplete 事件后,请求者的备份组件文档将成为只读文档。 因此,尝试通过接口修改文档 (例如,调用 IVssComponent::SetBackupMetadata) 将在 OnBackupComplete 的用户实现中失败。
当所有数据都保存到备份介质时,成功的备份应用程序将生成 BackupComplete 事件。
但是,不能保证编写器会收到 BackupComplete 事件通知,因为这些通知要求备份应用程序成功完成备份或正常失败。
例如,如果备份应用程序被系统终止或在备份 (完成之前手动终止备份应用程序,则无法生成 BackupComplete 事件,例如,如果备份操作挂起且必须) 关闭。
编写器应维护状态信息,以便它可以跟踪是否为给定卷影副本集发送了 BackupComplete 事件。
此信息可由编写器的 BackupShutdown 事件处理程序 (CVssWriter::OnBackupShutdown) (当备份应用程序实际终止并释放其 IVssBackupComponents 时调用)用于在未调用 OnBackupComplete 时执行清理操作。
编写器绝不应从此方法或任何其他 CVssWriter (Ex) ::OnXxx 回调方法引发异常。
如果此方法调用 CVssWriterEx2::GetSessionId、 CVssWriter::SetWriterFailure 或 CVssWriterEx2::SetWriterFailureEx 方法,则必须在调用此方法的同一线程中执行此操作。 有关详细信息,请参阅 编写器事件处理。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vswriter.h (包括 Vss.h、VsWriter.h) |
Library | VssApi.lib |