CVssWriter::OnAbort メソッド (vswriter.h)
OnAbort メソッドは、シャドウ コピー操作が途中で終了したことを示す VSS によって発行された Abort イベントの後にライターによって呼び出されます。 ライターは、このメソッドを使用して、その操作への参加の試行からクリーンします。
OnAbort は純粋な仮想メソッドです。 これは 、CVssWriter 基底クラスによって実装されず、派生クラスによって実装される必要があります。
構文
bool OnAbort();
戻り値
致命的なエラーが発生した場合を除き、このメソッドの実装は true を返す必要があります。 致命的なエラーが発生した場合、メソッドは CVssWriter::SetWriterFailure メソッドを呼び出して、 false を返す前にエラーの説明を提供する必要があります。 致命的でないエラーが発生した場合でも、メソッドは SetWriterFailure を 呼び出す必要がありますが、 true を返します。 一時的な問題が原因でエラーが発生した場合、メソッドは SetWriterFailure の呼び出しでVSS_E_WRITERERROR_RETRYABLEを指定する必要があります。
エラーが発生した場合は常に、メソッドはイベント ログにイベントを書き込み、エラーの正確な理由を報告する必要があります。
注釈
このメソッドでは、ライターは VSS 操作に参加する準備をするときに作成したすべての一時的なシステム リソースを解放する必要があります。
ライターは、 CVssWriter::OnAbort が実行された後に参加していた VSS 操作に関連するイベント通知を受け取りません。
ライターが CVssWriter::OnPostSnapshot (つまり、シャドウ コピーの末尾の通知を受け取った) を呼び出した場合、このメソッドは呼び出されません。
Abort イベントは、次の場合に生成されます。
- ライターの 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 |