共用方式為


IVssBackupComponentsEx::SetSelectedForRestoreEx 方法 (vsbackup.h)

SetSelectedForRestoreEx 方法指出是否已選取指定的可選取元件,以便還原至指定的寫入器實例。

語法

HRESULT SetSelectedForRestoreEx(
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] bool               bSelectedForRestore,
  [in] VSS_ID             instanceId
);

參數

[in] writerId

寫入器類別的全域唯一標識碼 (GUID) 。

[in] ct

元件的類型。 如需可能的值 ,請參閱VSS_COMPONENT_TYPE

[in] wszLogicalPath

以 Null 結尾的寬字元字串,其中包含元件的邏輯路徑。 如需詳細資訊,請參閱 元件的邏輯路徑

包含此處之邏輯路徑的字串值應該與新增元件時所使用的相同。

邏輯路徑可以是 NULL

在非 NULL 邏輯路徑中出現的字元沒有任何限制。

[in] wszComponentName

包含元件名稱的 Null 終止寬字元字串。

字串不能是 NULL ,而且應該包含與使用 IVssBackupComponents::AddComponent 方法新增至備份集時所使用的元件名稱相同。

[in] bSelectedForRestore

如果此參數的值為 true,則已選取選取的元件以進行還原。 如果值為 false,則尚未選取選取的元件進行還原。

[in] instanceId

寫入器實例的 GUID。

此參數的預設值為 GUID_NULL。

傳回值

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

意義
S_OK
已成功指出已選取要還原的指定元件。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_BAD_STATE
備份元件物件未初始化、此方法已在還原作業期間呼叫,或此方法未在正確的順序內呼叫。
VSS_E_OBJECT_NOT_FOUND
所選取的元件不存在於備份元件檔中,或對應至該元件之寫入器的即時實例未在系統上執行。
VSS_E_INVALID_XML_DOCUMENT
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

SetSelectedForRestoreEx 可將元件移至不同的寫入器實例,只能針對支援在同一類別標識碼執行多個寫入器實例的寫入器呼叫,並支援在還原時將元件移至不同寫入器實例的要求者。 若要判斷寫入器是否提供此支援,請呼叫 IVssExrovWriterMetadata::GetBackupSchema 方法。

SetSelectedForRestoreEx 僅適用於在元件模式中發生的還原。

SetSelectedForRestoreEx 只能針對使用 AddComponent 在備份時明確新增至備份文件的元件呼叫。 在新增至檔的最接近上階元件上呼叫 SetSelectedForRestoreEx ,才能還原隱含選取作為元件集一部分的備份元件。 如果只還原此元件的數據,則應該透過 IVssBackupComponents::AddRestoreSubcomponent 方法完成此動作;只有當元件可供還原 (請參閱 使用可選取性和邏輯路徑) 時,才能完成此作業。

這個方法必須在 IVssBackupComponents::P reRestore 方法之前呼叫。

需要 instanceIdwriterID 參數之間的差異,因為同一個寫入器的多個實例可以在電腦上執行。

如果 instanceId 參數的值GUID_NULL,這相當於呼叫 IVssBackupComponents::SetSelectedForRestore 方法。

instanceId 參數用來指定元件要還原至不同的寫入器實例。 如果 instanceId 參數的值不是GUID_NULL,它必須符合寫入器實例的實例識別碼與 writerID 參數中指定的相同寫入器類別識別碼。

呼叫 IVssExriterMetadataEx::GetIdentityEx 方法,即可找到寫入器的類別標識符、實例標識碼和實例名稱。

規格需求

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

另請參閱

IVssBackupComponents::SetSelectedForRestore

IVssBackupComponentsEx

IVssEx cloneWriterMetadata::GetBackupSchema

IVssEx cloneWriterMetadataEx::GetIdentityEx