Работа с возможностью выбора для восстановления и подкомпонентами

Возможность выбора для восстановления позволяет инициатору запроса определить, когда компонент можно восстановить по отдельности. Компонент, включенный для резервного копирования, может отображаться одним из двух способов:

  • Компонент, возможно , был явно включен в резервную копию. Эти компоненты имеют соответствующий экземпляр IVssComponent в документе Компоненты резервного копирования. Эти компоненты включаются в восстановление с помощью IVssBackupComponents::SetSelectedForRestore.
  • Компонент может быть неявно включен в резервную копию. Эти компоненты не имеют соответствующего экземпляра IVssComponent в документе Компоненты резервного копирования; однако в документе всегда будет экземпляр IVssComponent для компонента-предка. Эти компоненты включаются в восстановление с помощью IVssBackupComponents::AddRestoreSubcomponent.

Любой компонент, явно включенный в резервную копию, всегда можно выбрать для восстановления по отдельности, независимо от его выбора для восстановления. Инициатор запроса вызывает IVssBackupComponents::SetSelectedForRestore, передав идентификатор модуля записи, логический путь и имя конкретного компонента. Компоненты, неявно включенные в резервную копию, будут восстановлены при восстановлении явно включенного предка. Неявно включенные компоненты можно выбрать для восстановления по отдельности, только если они помечены как доступные для восстановления. Инициатор запроса сначала вызывает IVssBackupComponents::SetSelectedForRestore для ближайшего явно включенного компонента-предка, а затем вызывает IVssBackupComponents::AddRestoreSubcomponent для компонента-предка, чтобы выбрать неявно включенный компонент для восстановления. После этого будет восстановлен только неявно выбранный компонент; все остальные компоненты в наборе компонентов не будут восстановлены.

В отличие от возможности выбора для резервного копирования, которая всегда должна быть явно задана при добавлении компонента с помощью IVssCreateWriterMetadata::AddComponent, возможность выбора для восстановления имеет значение по умолчанию false, которое можно переопределить.

Так как компоненты верхнего уровня (компоненты с пустым логическим путем) могут быть включены в резервную копию только явным образом, возможность выбора для восстановления не имеет смысла для этих компонентов.