Метод 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.
Возвращаемое значение
Ниже приведены допустимые коды возврата для этого метода.
Значение | Значение |
---|---|
|
Успешно указано, что указанный компонент выбран для восстановления. |
|
Одно из значений параметра является недопустимым. |
|
Вызывающий объект не имеет памяти или других системных ресурсов. |
|
Объект компонента резервной копии не инициализирован, этот метод был вызван во время операции восстановления или этот метод не был вызван в правильной последовательности. |
|
Выбранный компонент не существует в документе Компоненты резервного копирования или динамический экземпляр модуля записи, соответствующий этому компоненту, не работает в системе. |
|
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS. |
|
Непредвиденная ошибка. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED. |
Комментарии
Метод SetSelectedForRestoreEx, который перемещает компонент в другой экземпляр модуля записи, можно вызывать только для модуля записи, который поддерживает запуск нескольких экземпляров модуля записи с одинаковым идентификатором класса и поддерживает перемещение компонента в другой экземпляр модуля записи во время восстановления. Чтобы определить, предоставляет ли модуль записи эту поддержку, вызовите метод IVssExamineWriterMetadata::GetBackupSchema .
SetSelectedForRestoreEx имеет значение только для восстановления, происходящего в режиме компонента.
Метод SetSelectedForRestoreEx можно вызывать только для компонентов, которые были явно добавлены в документ резервной копии во время резервного копирования с помощью AddComponent. Восстановление компонента, который был неявно выбран для резервного копирования в составе набора компонентов, необходимо выполнить путем вызова Метода SetSelectedForRestoreEx для ближайшего компонента-предка, добавленного в документ. Если требуется восстановить только данные этого компонента, это необходимо сделать с помощью метода IVssBackupComponents::AddRestoreSubcomponent ; Это можно сделать, только если компонент можно выбрать для восстановления (см. статью Работа с возможностью выбора и логическими путями).
Этот метод необходимо вызывать перед методом IVssBackupComponents::P reRestore .
Различие между параметрами instanceId и writerID необходимо, так как на компьютере могут работать несколько экземпляров одного модуля записи.
Если значение параметра instanceId равно GUID_NULL, это эквивалентно вызову метода IVssBackupComponents::SetSelectedForRestore .
Параметр instanceId используется для указания того, что компонент будет восстановлен в другой экземпляр модуля записи. Если значение параметра instanceId не GUID_NULL, оно должно соответствовать идентификатору экземпляра модуля записи с тем же идентификатором класса записи, указанным в параметре writerID .
Идентификатор класса модуля записи, идентификатор экземпляра и имя экземпляра можно найти, вызвав метод IVssExamineWriterMetadataEx::GetIdentityEx .
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008, Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения] |
Целевая платформа | Windows |
Header | vsbackup.h (включая VsBackup.h, Vss.h, VsWriter.h) |
Библиотека | VssApi.lib |
См. также раздел
IVssBackupComponents::SetSelectedForRestore