Метод IVssBackupComponents::AddAlternativeLocationMapping (vsbackup.h)
Метод AddAlternativeLocationMapping используется инициатором запроса, чтобы указать, что сопоставление альтернативного расположения использовалось для восстановления всех элементов набора файлов в данном компоненте.
Синтаксис
HRESULT AddAlternativeLocationMapping(
[in] VSS_ID writerId,
[in] VSS_COMPONENT_TYPE componentType,
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszComponentName,
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFilespec,
[in] bool bRecursive,
[in] LPCWSTR wszDestination
);
Параметры
[in] writerId
Глобальный уникальный идентификатор (GUID) класса записи, экспортированного компонентом.
[in] componentType
Тип компонента. Возможные значения этого параметра определяются перечислением VSS_COMPONENT_TYPE .
[in] wszLogicalPath
Строка расширенных символов, завершающаяся null, содержащая логический путь к компоненту.
Дополнительные сведения см. в разделе Логический путь к компонентам.
Логический путь может иметь значение NULL.
Нет ограничений на символы, которые могут отображаться в логическом пути, отличном от NULL .
[in] wszComponentName
Строка расширенных символов, завершающаяся null, содержащая имя компонента.
Нет ограничений на символы, которые могут отображаться в логическом пути, отличном от NULL .
[in] wszPath
Строка расширенных символов со знаком null, содержащая путь к каталогу, в котором изначально содержался перемещаемый файл. Этот путь может быть локальным для компьютера VSS или каталогом общей папки на удаленном файловом сервере.
Путь может содержать переменные среды (например, %SystemRoot%), но не может содержать подстановочные знаки. Поддерживаются UNC-пути.
Не требуется, чтобы путь заканчивалась обратной косой чертой (""). Только приложения, которые извлекают эти сведения в проверка.
[in] wszFilespec
Строка расширенных символов, завершающаяся null, содержащая исходную спецификацию файла.
Спецификация файла не может содержать спецификации каталога (например, без обратных косых черт), но может содержать ? и * подстановочные знаки.
[in] bRecursive
Логическое значение, указывающее, определяет ли путь, заданный параметром wszPath , только один каталог или иерархию каталогов для рекурсивного просмотра. Этот параметр должен иметь значение true , если путь рассматривается как иерархия каталогов для рекурсивного просмотра, или false , если нет.
Сведения о обходе подключенных папок см. в разделах Работа с подключенными папками и Точки повторного анализа.
[in] wszDestination
Строка расширенных символов с завершением NULL, содержащая имя каталога, в который будет перемещен файл. Этот путь может быть локальным для компьютера VSS или каталогом общей папки на удаленном файловом сервере. Поддерживаются UNC-пути.
Возвращаемое значение
Ниже приведены допустимые коды возврата для этого метода.
Значение | Значение |
---|---|
|
Сопоставление альтернативного расположения успешно добавлено. |
|
Одно из значений параметра недопустимо. |
|
У вызывающего объекта не хватает памяти или других системных ресурсов. |
|
Объект компонентов резервного копирования не инициализирован, этот метод был вызван во время операции восстановления или этот метод не был вызван в правильной последовательности. |
|
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS. |
|
Указанный компонент не существует. |
|
Непредвиденная ошибка. Код ошибки записывается в файл журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED. |
Комментарии
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP и Windows Server 2003: Удаленные общие папки не поддерживаются до Windows 8 и Windows Server 2012.
Параметры writerId, componentType, wszLogicalPath и wszComponentName определяют конкретный компонент, а параметры wszPath, wszFilespec и bRecursive определяют набор файлов, принадлежащий данному компоненту.
Сочетание пути, спецификации файла и флага рекурсии (wszPath, wszFilespec и bRecursive соответственно), предоставляемые для сопоставления AddAlternativeLocationMapping , должны соответствовать одному из наборов файлов, добавленных в компонент с помощью IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles или IVssCreateWriterMetadata::AddDatabaseLogFiles.
Поскольку метод AddAlternativeLocationMapping используется для уведомления модуля записи о том, что для восстановления всех файлов в компоненте использовалось альтернативное расположение, его не следует вызывать для компонентов или файлов в компоненте, для которых не указано альтернативное сопоставление расположения.
Значение wszPath будет сопоставлено с wszDestination при восстановлении; однако имена файлов и подкаталогов по исходному пути сохраняют те же имена.
Типичное использование AddAlternativeLocationMapping во время восстановления может быть следующим:
- Извлеките сохраненные документы метаданных модуля записи с носителя резервного копирования и загрузите эти сведения с помощью IVssExamineWriterMetadata::LoadFromXML.
- Вызовите метод IVssExamineWriterMetadata::GetAlternateLocationMapping , чтобы получить интерфейс IVssWMFiledesc со сведениями о сопоставлении, и используйте IVssWMFiledesc::GetAlternateLocation , чтобы получить альтернативное расположение.
- Изучите информацию по поданным данным, чтобы эвристически определить, к какому компоненту следует применить это альтернативное сопоставление расположения.
- Вызовите IVssBackupComponents::AddAlternativeLocationMapping , чтобы сообщить, где были восстановлены файлы.
- Метод восстановления (заданный во время резервного копирования) VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
- Его целевой объект восстановления был установлен (во время восстановления) как VSS_RT_ALTERNATE.
Файл может быть восстановлен в альтернативном сопоставлении расположения, если выполняется одно из следующих действий:
- Метод восстановления VSS_RME_RESTORE_IF_NOT_THERE и версия файла уже присутствует на диске.
- Метод восстановления VSS_RME_RESTORE_IF_CAN_REPLACE, а версия файла присутствует на диске и не может быть заменена.
Альтернативное сопоставление расположений используется только во время операции восстановления и не следует путать с альтернативным путем, который используется только во время операции резервного копирования.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | vsbackup.h (включая VsBackup.h, Vss.h, VsWriter.h) |
Библиотека | VssApi.lib |