共用方式為


IVssCreateWriterMetadata::SetRestoreMethod 方法 (vswriter.h)

SetRestoreMethod方法會指出寫入器的資料如何還原。

語法

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 值,指定將在還原作業中使用的方法。

[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 值,指定寫入器是否涉及還原其資料。

Express 寫入器必須將此參數設定為 VSS_WRE_NEVER

[in] bRebootRequired

布林值,指出還原作業完成之後是否需要重新開機。

傳回值

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

意義
S_OK
0x00000000L
作業成功。
E_INVALIDARG
0x80070057L
其中一個參數值無效。
E_OUTOFMEMORY
0x8007000EL
呼叫端記憶體不足或其他系統資源。
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 檔無效。 請檢查事件記錄檔以取得詳細資料。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_NOT_SUPPORTED
0x8004232FL
呼叫端指定了快速寫入器不支援 的VSS_WRITERRESTORE_ENUM 值。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

針對寫入器定義了單一還原方法。 如果未覆寫還原方法,則會使用相同的方法還原所有寫入器的元件。

寫入器會藉由設定還原目標,以逐一元件覆寫還原方法,通常是在處理CVssWriter::OnPreRestore) 的 PreRestore (事件時。

請務必注意,雖然還原方法已套用全寫入器,但每個元件還是會實作方法。 例如,如果 method 參數所指定的方法是VSS_RME_RESTORE_IF_CAN_REPLACE,則元件中的所有檔案都會還原到其原始位置,如果全部都可以取代,而不會發生錯誤。 否則,如果指定它們,則會還原至其替代位置。

如果下列任一項為 true,則檔案應一律還原至其替代位置對應:

  • ) 備份時間設定的還原 (方法VSS_RME_RESTORE_TO_ALTERNATE_LOCATION。
  • 其還原目標是在還原時間設定 (,) 設為 VSS_RT_ALTERNATE。
在這兩種情況下,如果未定義有效的替代位置對應,這會構成寫入器錯誤。

如果下列任一項為 true,則可以將檔案還原至替代位置對應:

  • 還原方法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 XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 vswriter.h (包括 Vss.h、VsWriter.h)
程式庫 VssApi.lib

另請參閱

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssEx cloneWriterMetadata::GetRestoreMethod