CVssWriter::OnBackupComplete 方法 (vswriter.h)

OnBackupComplete 方法是由BackupComplete事件之後的寫入器所呼叫。 它用來執行在備份之後視為必要作業。 不過,這些作業無法修改備份元件檔。

OnBackupComplete 是虛擬方法。 它是由 CVssWriter 基類實作,但可由衍生類別覆寫。

語法

bool OnBackupComplete(
  [in] IVssWriterComponents *pComponent
);

參數

[in] pComponent

VSS 所傳入 之 IVssWriterComponents 物件的指標,以提供存取寫入器元件資訊的方法。 如果要求者不支援 CVssWriter::AreComponentsSelected 傳回 false () ,則此參數的值可能是 NULL

傳回值

如同基類所實作, OnBackupComplete 一律會傳回 true

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

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

備註

CVssWriter 基類的預設實作會傳回 true,而不會執行任何其他作業。

如果要在備份結束時由寫入器執行特殊作業,則可以覆寫默認實作。

隨著 BackupComplete 事件的產生,要求者的備份元件檔會變成唯讀檔。 因此,嘗試透過介面 (來修改檔,例如,呼叫 IVssComponent::SetBackupMetadata) 會在 OnBackupComplete 的用戶實作中失敗。

成功備份應用程式會在所有數據都儲存至備份媒體時產生 BackupComplete 事件。

不過,無法保證寫入器收到 BackupComplete 事件通知,因為這些要求備份應用程式順利完成備份或正常失敗。

如果備份作業無回應且必須關閉) ,則無法產生 BackupComplete 事件,如果備份作業已停止運作,系統或手動終止備份應用程式,或手動完成備份 (。

寫入器應該維護狀態資訊,以便追蹤是否針對指定的陰影複製集傳送 BackupComplete 事件。

寫入器的 BackupShutdown 事件處理程式可以使用這項資訊, (CVssWriter::OnBackupShutdown) ,當備份應用程式實際終止且其 IVssBackupComponents 發行時,就會呼叫這項資訊,在 OnBackupComplete 沒有呼叫時執行清除作業。

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

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

規格需求

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

另請參閱

CVssWriter

CVssWriter::SetWriterFailure

IVssBackupComponents

IVssWriterComponents