使用可選取性進行還原和子元件
還原的可選取性可讓要求者判斷何時可以個別還原元件。 已包含備份的元件可以透過下列兩種方式之一出現:
- 元件可能已 明確包含在 備份中。 這些元件在備份元件檔中有對應的 IVssComponent 實例。 這些元件會包含在使用 IVssBackupComponents::SetSelectedForRestore的還原中。
- 元件可能已 隱含包含在 備份中。 這些元件在備份元件檔中沒有對應的 IVssComponent 實例;不過,檔中某些上階元件一律會有 IVssComponent 實例。 這些元件會包含在使用 IVssBackupComponents::AddRestoreSubcomponent的還原中。
不論其可選取性-還原值為何,備份中已明確包含的任何元件一律可以個別選取以進行還原。 要求者會呼叫 IVssBackupComponents::SetSelectedForRestore,傳入特定元件的寫入器識別碼、邏輯路徑和名稱。 當明確包含的上階還原時,備份中隱含包含的元件將會還原。 只有在標示為可進行還原時,才能個別選取包含的元件進行還原。 要求者會先在最接近的明確包含上階元件上呼叫 IVssBackupComponents::SetSelectedForRestore ,然後在上階元件上呼叫 IVssBackupComponents::AddRestoreSubcomponent ,以選取隱含包含的元件以進行還原。 完成此動作之後,只會還原隱含選取的元件;不會還原元件集中的所有其他元件。
不同于備份的可選取性,當元件以 IVssCreateWriterMetadata::AddComponent新增時,必須明確設定備份的可選取性,其預設值為 false,可以覆寫。
因為最上層元件 (具有空邏輯路徑的元件,) 只能明確包含在備份中,所以還原的可選取性對於這些元件沒有任何意義。