CVssWriter::OnBackupComplete メソッド (vswriter.h)

OnBackupComplete メソッドは、BackupComplete イベントの後にライターによって呼び出されます。 これは、バックアップ後に必要と見なされる操作を実行するために使用されます。 ただし、これらの操作では、バックアップ コンポーネント ドキュメントを変更できません。

OnBackupComplete は仮想メソッドです。 これは CSVsWriter 基底クラスによって実装されますが、派生クラスによってオーバーライドできます。

構文

bool OnBackupComplete(
  [in] IVssWriterComponents *pComponent
);

パラメーター

[in] pComponent

ライターのコンポーネント情報へのアクセスをメソッドに提供するために VSS によって渡される IVssWriterComponents オブジェクトへのポインター。 リクエスターがコンポーネントをサポートしていない場合 (CSVsWriter::AreComponentsSelectedfalse を返す場合)、このパラメーターの値は NULL になる可能性があります。

戻り値

基底クラスによって実装されているように、 OnBackupComplete は 常に true を返します。

致命的なエラーが発生した場合を除き、このメソッドの他の実装は true を返す必要があります。 致命的なエラーが発生した場合、メソッドは CSVsWriter::SetWriterFailure メソッドを呼び出して、 false を返す前にエラーの説明を提供する必要があります。 致命的でないエラーが発生した場合でも、メソッドは SetWriterFailure を 呼び出しますが 、true を返します。 一時的な問題が原因でエラーが発生した場合、メソッドは SetWriterFailure の呼び出しでVSS_E_WRITERERROR_RETRYABLEを指定する必要があります。

エラーが発生した場合、メソッドはイベント ログにイベントを書き込み、エラーの正確な理由を報告する必要があります。

注釈

CVssWriter 基底クラスによるこのメソッドの既定の実装は、他の操作を実行せずに true を返します。

バックアップの最後にライターが特別な操作を実行する場合は、既定の実装をオーバーライドできます。

BackupComplete イベントの生成により、要求者のバックアップ コンポーネント ドキュメントが読み取り専用ドキュメントになります。 したがって、インターフェイス (たとえば、 IVssComponent::SetBackupMetadata の呼び出し) を介してドキュメントを変更しようとすると、 OnBackupComplete のユーザー実装で失敗します。

バックアップ アプリケーションが成功すると、すべてのデータがバックアップ メディアに保存されると、 BackupComplete イベントが生成されます。

ただし、 BackupComplete イベント通知を受け取るライターには、バックアップ アプリケーションがバックアップを正常に完了するか正常に失敗する必要があるため、保証はありません。

BackupComplete イベントは、バックアップ アプリケーションがシステムによって終了された場合、またはバックアップが完了する前に手動で生成されない可能性があります (たとえば、バックアップ操作がハングし、シャットダウンする必要がある場合)。

ライターは、特定のシャドウ コピー セットに対して BackupComplete イベントが送信されたかどうかを追跡できるように、状態情報を保持する必要があります。

この情報は、ライターの BackupShutdown イベント ハンドラー (CVssWriter::OnBackupShutdown) によって使用できます。これは、バックアップ アプリケーションが実際に終了し、その IVssBackupComponents が解放されたときに呼び出され、 OnBackupComplete の呼び出しがない場合にクリーンアップ操作を実行するために呼び出されます。

ライターは、このメソッドまたは他の CSVSWriter(Ex)::OnXxx コールバック メソッドから例外をスローしないでください。

このメソッドが CVssWriterEx2::GetSessionIdCVssWriter::SetWriterFailure、または CVssWriterEx2::SetWriterFailureEx メソッドを呼び出す場合は、このメソッドを呼び出したのと同じスレッドで呼び出す必要があります。 詳細については、「 ライター イベント処理」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー vswriter.h (Vss.h、VsWriter.h を含む)
Library VssApi.lib

こちらもご覧ください

CSVSWriter

CSVsWriter::SetWriterFailure

IVssBackupComponents

IVssWriterComponents