CVssWriter::OnAbort 方法 (vswriter.h)
编写器在 VSS 发出的中止事件后调用 OnAbort 方法,该事件指示卷影复制操作已提前终止。 编写器使用此方法清理尝试参与该操作。
OnAbort 是纯虚拟方法。 它不是由 CVssWriter 基类实现的,必须由派生类实现。
语法
bool OnAbort();
返回值
此方法的实现应返回 true ,出现严重错误时除外。 如果发生严重错误,该方法必须调用 CVssWriter::SetWriterFailure 方法,以在返回 false 之前提供失败说明。 如果发生非严重错误,该方法仍应调用 SetWriterFailure ,但返回 true。 如果错误是由暂时性问题引起的,该方法应在 对 SetWriterFailure 的调用中指定VSS_E_WRITERERROR_RETRYABLE。
在发生故障的所有情况下, 方法都应将事件写入事件日志,以报告失败的确切原因。
注解
在此方法中,编写器应在准备参与 VSS 操作时释放它创建的所有临时系统资源。
在执行 CVssWriter::OnAbort 后,编写器将不会收到与参与的 VSS 操作相关的进一步事件通知。
如果编写器调用了 CVssWriter::OnPostSnapshot (,即收到卷影副本) 结束的通知,则不会调用此方法。
在出现错误时,将生成中止事件:
- 编写器的 Freeze 和 Thaw 事件处理程序 (CVssWriter::OnFreeze 和 CVssWriter::OnThaw) 返回 false,或者在 CVssWriter::Initialize 中指定的时间范围内无法完成。
- 请求者通过调用 IVssBackupComponents::AbortBackup 显式生成 Abort 事件。
- 在 PrepareForSnapshot 事件之后创建卷影副本期间,提供程序或 VSS 发生故障。
如果此方法调用 CVssWriterEx2::GetSessionId、 CVssWriter::SetWriterFailure 或 CVssWriterEx2::SetWriterFailureEx 方法,则必须在调用此方法的同一线程中执行此操作。 有关详细信息,请参阅 编写器事件处理。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vswriter.h (包括 Vss.h、VsWriter.h) |
Library | VssApi.lib |