CVssWriter::OnBackupShutdown メソッド (vswriter.h)
OnBackupShutdown メソッドは、BackupShutdown イベントの後にライターによって呼び出されます。 これは、特にバックアップ アプリケーションがクラッシュした場合に、バックアップ アプリケーションがシャットダウンしたときに必要と見なされる操作を実行するために使用されます。
OnBackupShutdown は仮想メソッドです。 これは 、CVssWriter 基底クラスによって実装されますが、派生クラスによってオーバーライドできます。
構文
bool OnBackupShutdown(
[in] VSS_ID SnapshotSetId
);
パラメーター
[in] SnapshotSetId
バックアップ操作に関係するシャドウ コピー セットの識別子。
戻り値
基底クラスによって実装されているように、OnBackupShutdown は常に true を返します
致命的なエラーが発生した場合を除き、このメソッドの他の実装では true を返す必要があります。 致命的なエラーが発生した場合、メソッドは CVssWriter::SetWriterFailure メソッドを呼び出して、 false を返す前にエラーの説明を提供する必要があります。 致命的でないエラーが発生した場合でも、メソッドは SetWriterFailure を 呼び出す必要がありますが、 true を返します。 一時的な問題が原因でエラーが発生した場合、メソッドは SetWriterFailure の呼び出しでVSS_E_WRITERERROR_RETRYABLEを指定する必要があります。
エラーが発生した場合は常に、メソッドはイベント ログにイベントを書き込み、エラーの正確な理由を報告する必要があります。
解説
CVssWriter 基本クラスによるこのメソッドの既定の実装では、他の操作を実行せずに true が返されます。
バックアップ アプリケーションのシャットダウン時にライターが特別な操作を実行する場合は、既定の実装をオーバーライドできます。
シャドウ コピーが正常に実行されていない場合、シャドウ コピー セット識別子 (SnapshotSetId) の値は NULL になります。
BackupShutdown イベントは、バックアップ アプリケーションが実際に終了し、その IVssBackupComponents がリリースされるたびに生成されます。
BackupComplete イベントでは、バックアップ アプリケーションがバックアップを正常に完了するか、正常に失敗する必要があります。これは、バックアップ アプリケーションがシステムによって終了された場合や、バックアップが完了する前に手動で終了した場合 (たとえば、バックアップ操作がハングし、シャットダウンする必要がある場合) には当てはまない可能性があります。
このため、BackupShutdown イベントは BackupComplete イベントよりもバックアップ アプリケーションの終了に関するより堅牢なシグナルです。
ライターは、特定のシャドウ コピー セットに対して BackupComplete イベントが送信されたかどうかを追跡できるように、状態情報を保持する必要があります。
OnBackupShutdown のライター固有の実装では、BackupComplete イベントが処理されたかどうかをチェックする必要があります。 バックアップの後に必要なすべてのライター クリーンアップ操作 (成功またはそれ以外の場合) が事前設定されていることを確認する必要があります。
ライターは、このメソッドまたは他の CSVsWriter(Ex)::OnXxx コールバック メソッドから例外をスローしないでください。
このメソッドが CVssWriterEx2::GetSessionId、 CVssWriter::SetWriterFailure、または CVssWriterEx2::SetWriterFailureEx メソッドを呼び出す場合は、このメソッドを呼び出したのと同じスレッドで呼び出す必要があります。 詳細については、「 ライター イベントの処理」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vswriter.h (Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |