CVssWriter::OnPrepareBackup メソッド (vswriter.h)
OnPrepareBackup メソッドは、PrepareForBackup イベントの後にライターによって呼び出されます。 このメソッドは、バックアップ操作の準備としてライターの状態とそのコンポーネントを構成するために使用されます。
OnPrepareBackup は仮想メソッドです。 これは 、CVssWriter 基底クラスによって実装されますが、派生クラスによってオーバーライドできます。
構文
bool OnPrepareBackup(
[in] IVssWriterComponents *pComponent
);
パラメーター
[in] pComponent
ライター メタデータ ドキュメントの内容を含む IVssWriterComponents オブジェクトのインスタンス化へのポインター。 リクエスターがコンポーネントをサポートしていない場合 (CVssWriter::AreComponentsSelected が false を返す場合)、このパラメーターの値は NULL になる可能性があります。
戻り値
基底クラスによって実装されているように、 OnPrepareBackup は常に true を返します。
致命的なエラーが発生した場合を除き、このメソッドの他の実装は true を返す必要があります。 致命的なエラーが発生した場合、メソッドは CVssWriter::SetWriterFailure メソッドを呼び出して、 false を返す前にエラーの説明を提供する必要があります。 致命的でないエラーが発生した場合でも、メソッドは SetWriterFailure を 呼び出す必要がありますが、 true を返します。 一時的な問題が原因でエラーが発生した場合、メソッドは SetWriterFailure の呼び出しでVSS_E_WRITERERROR_RETRYABLEを指定する必要があります。
エラーが発生した場合は常に、メソッドはイベント ログにイベントを書き込み、エラーの正確な理由を報告する必要があります。
注釈
CVssWriter 基本クラスによるこのメソッドの既定の実装では、他の操作を実行せずに true が返されます。
OnPrepareBackup を使用すると、ライターはバックアップされる内容をより細かく選択できます。
PrepareForBackup イベントの処理は、シャドウ コピーの作成前に、ライターがバックアップ コンポーネント ドキュメントに含まれるメタデータにアクセスする最後の機会です。
したがって、 OnPrepareBackup は、ライターが格納されているコンポーネント情報を最終的に追加または更新する機会を提供します ( IVssComponent インターフェイスを使用)。 特に、ライター固有のメタデータは、 IVssComponent::SetBackupMetadata または IVssComponent::SetRestoreMetadata によって更新できます。
さらに、 PrepareForSnapshot イベントを処理すると、VSS バックアップ操作のライフ サイクルで時間のかかる操作 (複数のサイト間でのデータの同期など) を実行する別の機会が提供されますが、 OnPrepareBackup では、ライターがこのような操作を非同期的に開始できます。 このようなタスクは、 CVssWriter::OnPrepareSnapshot が返される前に完了する必要があります。
ライターは、このメソッドまたは他の CSVsWriter(Ex)::OnXxx コールバック メソッドから例外をスローしないでください。
リクエスターは PrepareForBackup イベントを生成し、IVssBackupComponents::P repareForBackup を呼び出して OnPrepareBackup の呼び出しをトリガーします。
このメソッドが CVssWriterEx2::GetSessionId、 CVssWriter::SetWriterFailure、または CVssWriterEx2::SetWriterFailureEx メソッドを呼び出す場合は、このメソッドを呼び出したのと同じスレッドで呼び出す必要があります。 詳細については、「 ライター イベントの処理」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vswriter.h (Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |