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 傳回之前完成。
寫入器永遠不會從這個方法或任何其他 CVssWriter (Ex) ::OnXxx 回呼方法擲回例外狀況。
要求者會呼叫 IVssBackupComponents::P repareForBackup 來觸發 OnPrepareBackup 的呼叫,以產生 PrepareForBackup 事件。
如果此方法呼叫 CVssWriterEx2::GetSessionId、CVssWriter::SetWriterFailure 或 CVssWriterEx2::SetWriterFailureEx 方法,則必須在呼叫此方法的相同線程中執行此動作。 如需詳細資訊,請參閱 寫入器事件處理。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vswriter.h (包括 Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |