Share via


CVssWriter::OnPrepareSnapshot 方法 (vswriter.h)

OnPrepareSnapshot 方法是由寫入器呼叫,以處理 PrepareForSnapshot 事件。 它可用來執行準備寫入器以參與陰影複製或 veto 陰影複製所需的作業。

OnPrepareSnapshot 是純虛擬方法。 它不是由 CVssWriter 基類實作,而且必須由衍生類別實作。

Syntax

bool OnPrepareSnapshot();

傳回值

這個方法的實作必須 傳回 true, 但發生嚴重錯誤的情況除外。 如果發生嚴重錯誤,方法必須呼叫 CVssWriter::SetWriterFailure 方法,才能提供失敗的描述,然後再傳回 false。 如果發生非嚴重錯誤,方法仍應呼叫 SetWriterFailure ,但傳回 true。 如果錯誤是因為暫時性問題所造成,方法應該在 對 SetWriterFailure 的呼叫中指定VSS_E_WRITERERROR_RETRYABLE。

在發生失敗的所有情況下,方法都應該將事件寫入事件記錄檔,以報告失敗的確切原因。

備註

OnPrepareSnapshot 方法會執行任何陰影複製凍結之前所需的作業。

處理 PrepareForSnapshot 事件的逾時時間範圍通常比處理 Freeze 事件的逾時時間範圍還要長。 因此,開發人員可以使用 OnPrepareSnapshot 來處理更耗時的作業。 一般用途可能是讓寫入器明確檢查其數據。

寫入器絕對不應該從這個方法或任何其他 CVssWriter (Ex) ::OnXxx 回呼方法擲回例外狀況。

如果此方法呼叫 CVssWriterEx2::GetSessionIdCVssWriter::SetWriterFailureCVssWriterEx2::SetWriterFailureEx 方法,它必須在呼叫此方法的相同線程中執行此動作。 如需詳細資訊,請參閱 寫入器事件處理

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 vswriter.h (包括 Vss.h、VsWriter.h)
程式庫 VssApi.lib

另請參閱

CVssWriter

CVssWriter::OnAbort

CVssWriter::OnFreeze

CVssWriter::OnThaw

CVssWriter::SetWriterFailure