Поделиться через


Работа с новыми целевыми объектами во время восстановления

Инициатору запроса может потребоваться восстановить файлы в расположение, указанное не в пути набора файлов по умолчанию или в его альтернативном сопоставлении расположения. Существует множество причин, по которым это может произойти, например, ни то, ни место восстановления не было доступно, либо пользователь, выполняющий запрос, намеренно запрашивает восстановление файлов в неизвестном ранее расположении. В этом случае инициатор запроса использует новый целевой механизм, чтобы сообщить записи о том, что он восстановил файл в другую область на диске.

Не все записи поддерживают изменение места назначения восстановления файла инициатором запроса. Инициатору запроса необходимо проверить поддержку записи, проверив маску схемы резервного копирования модуля записи (возвращенную IVssExamineWriterMetadata::GetBackupSchema) и убедившись, что она содержит флаг VSS_BS_WRITER_SUPPORTS_NEW_TARGET.

Инициатор запроса указывает на такое восстановление с помощью метода IVssBackupComponents::AddNewTarget . Помимо указания спецификации файла, а также исходного и нового назначения восстановления, инициатор запроса указывает сведения о компоненте — логический путь и имя компонента.

Сведения о том, какой компонент используется, зависит от того, был ли компонент, управляющий файлом, в который добавлен новый целевой объект, явно или неявно включен в резервную копию.

Если управляющий компонент был явно включен, используются его сведения. Если управляющий компонент был включен неявно, он является подкомпонентом в наборе компонентов. В этом случае используется набор компонентов, определяющий сведения о компоненте.

При обработке события PostRestore модули записи должны проверка, чтобы узнать, были ли восстановлены какие-либо из его файлов в новое расположение. Это можно сделать с помощью методов IVssComponent::GetNewTargetCount и IVssComponent::GetNewTarget .

Используемый экземпляр интерфейса IVssComponent зависит от того, был ли управляющий компонент файла явно или неявно добавлен в резервную копию.