CVssWriter::OnPostSnapshot メソッド (vswriter.h)
OnPostSnapshot メソッドは、PostSnapshot イベントの後にライターによって呼び出されます。
OnPostSnapshot は仮想メソッドです。 これは 、CVssWriter 基本クラスによって実装されますが、派生クラスによってオーバーライドできます。
構文
bool OnPostSnapshot(
[in] IVssWriterComponents *pComponent
);
パラメーター
[in] pComponent
ライターのコンポーネント情報へのアクセスをメソッドに提供するために VSS によって渡される IVssWriterComponents オブジェクトへのポインター。 リクエスターがコンポーネントをサポートしていない場合 ( CSVsWriter::AreComponentsSelected が false を返す場合)、このパラメーターの値は NULL になる可能性があります。
戻り値
基底クラスによって実装されているように、 OnPostSnapshot は常に true を返します。
致命的なエラーが発生した場合を除き、このメソッドの他の実装は true を返す必要があります。 致命的なエラーが発生した場合、メソッドは CSVsWriter::SetWriterFailure メソッドを呼び出して、 false を返す前にエラーの説明を提供する必要があります。 致命的でないエラーが発生した場合でも、メソッドは SetWriterFailure を 呼び出しますが 、true を返します。 一時的な問題が原因でエラーが発生した場合、メソッドは SetWriterFailure の呼び出しでVSS_E_WRITERERROR_RETRYABLEを指定する必要があります。
エラーが発生した場合、メソッドはイベント ログにイベントを書き込み、エラーの正確な理由を報告する必要があります。
解説
CVssWriter 基本クラスによるこのメソッドの既定の実装は、他の操作を実行せずに true を返します。
CVssWriter::OnPostSnapshot は、通常、ライターによるバックアップ コンポーネントメタデータへの最終的な更新を処理し、一時ファイルの削除などクリーンするために使用されます。
増分バックアップまたは差分バックアップが実行されている場合、ライターは IVssComponent::GetPreviousBackupStamp と IVssComponent::SetBackupStamp を呼び出す可能性があります。 詳細については、「 複合ストアのバックアップにおけるライター ロール」を参照してください。 この時点で呼び出すことができるもう 1 つのメソッドは、 IVssComponent::AddDifferencedFilesByLastModifyTime です。
ライターを通常の操作に戻すために必要な作業のほとんどは (CSVSWriter::OnPrepareSnapshot と CVssWriter::OnFreeze のアクションを元に戻す) は、通常、OnPostSnapshot ではなく、CVssWriter::OnThaw で実行されます。
ライターは、このメソッドまたは他の CSVSWriter(Ex)::OnXxx コールバック メソッドから例外をスローしないでください。
シャドウ コピーに VSS_VOLSNAP_ATTR_AUTORECOVER フラグがコンテキストに設定されている場合、ライターは必要な回復 (不完全なトランザクションのロールバックなど) を実行して、コンポーネントがデータ マイニングの読み取り専用コピー (ライブ サーバーへの負荷を追加せずに) または復元の目的で使用できるようにする必要があります (たとえば、選択したアイテムをデータベースから復元するため)。
ボリュームのシャドウ コピーのボリューム名を取得するには、次の手順を実行します。
- シャドウ コピー セット内のボリュームの数を照会するには、 CVssWriter::GetCurrentVolumeCount メソッドを呼び出します。
- シャドウ コピー セット内のボリュームの元の名前を列挙するには、 CVssWriter::GetCurrentVolumeArray メソッドを呼び出します。
- シャドウ コピー ボリュームの名前を取得するには、 CVssWriter::GetSnapshotDeviceName を呼び出します。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vswriter.h (Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |