IVssCreateExpressWriterMetadata::SetRestoreMethod 方法 (vswriter.h)
指定如何還原快速寫入器的數據。
語法
HRESULT SetRestoreMethod(
[in] VSS_RESTOREMETHOD_ENUM method,
[in] LPCWSTR wszService,
[in] LPCWSTR wszUserProcedure,
[in] VSS_WRITERRESTORE_ENUM writerRestore,
[in] bool bRebootRequired
);
參數
[in] method
VSS_RESTOREMETHOD_ENUM列舉值,指定要用於還原作業的還原方法。 這個參數是必要的,而且不能 VSS_RME_UNDEFINED、 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION或 VSS_RME_CUSTOM。
[in] wszService
寬字元字串的指標,其中包含在還原作業之前必須停止的服務名稱,然後在還原作業發生之後啟動,如果方法的值是VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START,
如果 方法 的值未 VSS_RME_STOP_RESTORE_START 或 VSS_RME_RESTORE_STOP_START,則不會使用此參數,而且應該設定為 NULL。
[in] wszUserProcedure
保留供未來使用。 此參數的值應該一律設定為 NULL。
[in] writerRestore
VSS_WRITERRESTORE_ENUM列舉值,指定寫入器是否將涉及還原其數據。 此參數必須設定為 VSS_WRE_NEVER。
[in] bRebootRequired
布爾值,指出還原作業完成之後是否需要重新啟動。
傳回值
以下是這個方法的有效傳回碼。
值 | 意義 |
---|---|
|
作業成功。 |
|
其中一個參數值無效。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。 |
備註
快速寫入器只能定義一個還原方法。 如果未覆寫還原方法,則會使用相同的方法來還原所有快速寫入器的元件。
快速寫入器會藉由設定還原目標,以逐一元件覆寫還原方法,通常處理 PreRestore 事件 (CVssWriter::OnPreRestore) 。
請務必注意,儘管還原方法是以每一寫入器為基礎套用,但方法還是會以每個元件為基礎實作。 例如,如果 method 參數所指定的方法 是VSS_RME_RESTORE_IF_CAN_REPLACE,則元件中的所有檔案都會還原到其原始位置,如果全部可以取代,而不會發生錯誤。 否則,如果指定了替代位置,它們就會還原到其替代位置。
如果下列任一項成立,則可以將檔案還原至替代位置對應:
- 還原方法 VSS_RME_RESTORE_IF_NOT_THERE,而且磁碟上已有檔案的版本。
- 還原方法是 VSS_RME_RESTORE_IF_CAN_REPLACE,而且磁碟上有檔案的版本,而且無法取代。
如需還原方法的詳細資訊,請參閱 設定 VSS 還原方法。
如果還原方法VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START,則必須以 wszService 自變數的形式提供服務的正確名稱。 如需寫入器參與還原作業期間停止和重新啟動服務的資訊,請參閱 停止要求者還原的服務。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vswriter.h (包括 Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |