次の方法で共有


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

OnPrepareSnapshot メソッドは、PrepareForSnapshot イベントを処理するためにライターによって呼び出されます。 これは、シャドウ コピーに参加するライターを準備したり、シャドウ コピーを拒否したりするために必要な操作を実行するために使用されます。

OnPrepareSnapshot は純粋な仮想メソッドです。 これは 、CVssWriter 基底クラスによって実装されず、派生クラスによって実装される必要があります。

構文

bool OnPrepareSnapshot();

戻り値

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

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

注釈

OnPrepareSnapshot メソッドは、シャドウ コピーがフリーズする前に必要な操作を実行します。

PrepareForSnapshot イベントを処理するためのタイムアウト 期間は、通常、Freeze イベントを処理する場合よりも長くなります。 そのため、開発者は OnPrepareSnapshot を 使用して、より多くの時間のかかる操作を処理できます。 一般的な用途は、ライターがデータを明示的にチェックポイント処理することです。

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

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

要件

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

こちらもご覧ください

CVssWriter

CVssWriter::OnAbort

CVssWriter::OnFreeze

CVssWriter::OnThaw

CVssWriter::SetWriterFailure