在還原期間使用新目標
要求者可能需要將檔案還原至檔案集的預設路徑或其 替代位置對應以外的位置。 原因有很多,例如,無法存取還原目的地,或要求者使用者刻意要求將檔案還原至某些先前未知的位置。 在此情況下,要求者會使用新的目的機制,向寫入器指出它已將檔案還原到磁片上的不同區域。
並非所有寫入器都支援要求者變更檔案的還原目的地。 要求者必須確認寫入器的備份架構遮罩 (IVssEx atomicWriterMetadata::GetBackupSchema) 傳回的寫入器備份架構遮罩,並確認其包含VSS_BS_WRITER_SUPPORTS_NEW_TARGET旗標。
要求者會透過 IVssBackupComponents::AddNewTarget 方法指出這類還原。 除了指定檔案規格和原始和新的還原目的地之外,要求者還會指定元件資訊,也就是邏輯路徑和元件名稱。
使用哪個元件的資訊取決於管理新增目標之檔案的元件是否已 明確包含 或 隱含包含在 備份中。
如果明確包含管理元件,則會使用其資訊。 如果已隱含包含管理元件,則它是元件集中的子元件。 在此情況下,會使用元件集的定義元件資訊。
處理 PostRestore 事件時,寫入器應該檢查其檔案是否已還原到新位置。 這可以使用 IVssComponent::GetNewTargetCount 和 IVssComponent::GetNewTarget 方法來完成。
使用的 IVssComponent 介面實例取決於檔案的管理元件是明確還是隱含地新增至備份。