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


Метод 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.

Возвращаемое значение

Ниже приведены допустимые коды возврата для этого метода.

Значение Значение
S_OK
Успешно указано, что указанный компонент выбран для восстановления.
E_INVALIDARG
Одно из значений параметра является недопустимым.
E_OUTOFMEMORY
Вызывающий объект не имеет памяти или других системных ресурсов.
VSS_E_BAD_STATE
Объект компонента резервной копии не инициализирован, этот метод был вызван во время операции восстановления или этот метод не был вызван в правильной последовательности.
VSS_E_OBJECT_NOT_FOUND
Выбранный компонент не существует в документе Компоненты резервного копирования или динамический экземпляр модуля записи, соответствующий этому компоненту, не работает в системе.
VSS_E_INVALID_XML_DOCUMENT
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в 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

IVssBackupComponentsEx

IVssExamineWriterMetadata::GetBackupSchema

IVssExamineWriterMetadataEx::GetIdentityEx