IVssBackupComponents::BackupComplete 方法 (vsbackup.h)

BackupComplete方法會使 VSS 產生BackupComplete事件,以向寫入器發出備份程式已完成的訊號。

語法

HRESULT BackupComplete(
  [out] IVssAsync **ppAsync
);

參數

[out] ppAsync

IVssAsync實例的雙間接指標。

傳回值

以下是這個方法的有效傳回碼。

意義
S_OK
已成功傳回 IVssAsync 介面實例的指標。 如需pHrResult參數所傳回的有效值,請參閱IVssAsync::QueryStatus
E_INVALIDARG
ppAsync 未指向有效的指標;也就是說,它是 Null
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_BAD_STATE
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。

VSS_E_UNEXPECTED_WRITER_ERROR
與寫入器通訊期間發生意外的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

備註

使用 TRUE () 選取元件引數呼叫IVssBackupComponents::SetBackupState 時,寫入器可以使用 IVssComponent::GetBackupSucceeded來判斷備份元件檔元件中明確包含之任何元件的成功或失敗。 因此, (要求者) 行為良好的備份應用程式必須在處理每個元件之後呼叫 IVssBackupComponents::SetBackupSucceeded, 並在呼叫 BackupComplete之前呼叫。

如果 呼叫 IVssBackupComponents::D oSnapshotSet 失敗,請勿呼叫此方法。 如需要求者如何在備份作業中使用 DoSnapshotSetSetBackupSucceededBackupComplete 的詳細資訊,請參閱 備份前工作 概觀和 實際備份檔案的概觀。

這項作業是非同步。 呼叫端可以在傳回的IVssAsync介面中使用QueryStatus介面方法來判斷通知的狀態。

呼叫 BackupComplete之後,要求者必須呼叫 GatherWriterStatus ,才能將寫入器會話設定為已完成狀態。

注意 這只有在 Windows Server 2008 Service Pack 2 (SP2) 和更早版本時才需要。
 
備份應用程式可以選擇在陰影複製建立後隨時中止備份,方法是呼叫 IVssAsync::Cancel

呼叫應用程式負責呼叫 IUnknown::Release ,以釋放不再需要時所傳回 IVssAsync 所持有的資源。

規格需求

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

另請參閱

IVssAsync

IVssAsync::Cancel

IVssAsync::QueryStatus

IVssBackupComponents

IVssBackupComponents::SetBackupState

IVssBackupComponents::SetBackupSucceeded