Метод IVssCreateWriterMetadata::AddAlternateLocationMapping (vswriter.h)

Метод AddAlternateLocationMapping создает альтернативное сопоставление расположения для набора файлов.

Синтаксис

HRESULT AddAlternateLocationMapping(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszDestination
);

Параметры

[in] wszSourcePath

Строка расширенных символов, завершающаяся null, содержащая имя каталога или иерархии каталогов, содержащей файлы для сопоставления.

Каталог может быть локальным каталогом на компьютере VSS или каталогом общей папки на удаленном файловом сервере.

Путь может содержать переменные среды (например, %SystemRoot%), но не может содержать подстановочные знаки.

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

[in] wszSourceFilespec

Строка расширенных символов со значением NULL, содержащая спецификацию файла для сопоставляемых файлов.

Спецификация файла не может содержать спецификации каталога (например, без обратных косых черт), но может содержать ? и * подстановочные знаки.

[in] bRecursive

Логическое значение, указывающее, определяет ли путь, заданный параметром wszPath , только один каталог или указывает иерархию каталогов для рекурсивного просмотра. Этот параметр должен иметь значение true , если путь рассматривается как иерархия каталогов для рекурсивного просмотра, или false , если нет.

Сведения о обходе подключенных папок см. в разделах Работа с подключенными папками и Точки повторного анализа.

[in] wszDestination

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

Каталог может быть локальным каталогом на компьютере VSS или каталогом общей папки на удаленном файловом сервере.

Поддерживаются UNC-пути.

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

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

Значение Значение
S_OK
0x00000000L
Операция выполнена успешно.
E_INVALIDARG
0x80070057L
Одно из значений параметра недопустимо.
E_OUTOFMEMORY
0x8007000EL
У вызывающего объекта не хватает памяти или других системных ресурсов.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
Метод IVssCreateWriterMetadata::SetRestoreMethod не был вызван до вызова этого метода.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки записывается в файл журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в 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. Средства записи поддерживают только локальные ресурсы — наборы файлов, абсолютный путь которых начинается с допустимой спецификации локального тома и не может быть сопоставленным сетевым диском. Поэтому входные данные пути (wszPath и wszDestination) к AddAlternateLocationMapping (после разрешения любых переменных среды) должны иметь этот формат.

Этот метод можно вызывать несколько раз, чтобы добавить сопоставление для нескольких файлов.

Сочетание пути, спецификации файла и флага рекурсии (wszPath, wszFileSpec и bRecursive соответственно), предоставляемые для сопоставления AddAlternateLocationMapping , должны соответствовать одному из наборов файлов, добавленных в один из компонентов модуля записи с помощью IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles или IVssCreateWriterMetadata::AddDatabaseLogFiles.

Метод AddAlternateLocationMapping следует вызывать только после вызова IVssCreateWriterMetadata::SetRestoreMethod .

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

  • Метод восстановления (заданный во время резервного копирования) VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Его целевой объект восстановления был установлен (во время восстановления) как VSS_RT_ALTERNATE.
В любом случае, если не определено допустимое альтернативное сопоставление расположения, это представляет собой ошибку записи.

Файл можно восстановить в альтернативном сопоставлении расположения, если выполняется одно из следующих действий:

  • Метод восстановления VSS_RME_RESTORE_IF_NOT_THERE и версия файла уже присутствует на диске.
  • Метод восстановления VSS_RME_RESTORE_IF_CAN_REPLACE, а версия файла присутствует на диске и не может быть заменена.
Опять же, если допустимое сопоставление альтернативного расположения не определено, это создает ошибку записи.

Альтернативное сопоставление расположений используется только во время операции восстановления и не следует путать с альтернативным путем, который используется только во время операции резервного копирования.

Дополнительные сведения о расположении файлов резервного копирования и восстановления в VSS см. в разделе Расположения резервного копирования и восстановления по умолчанию.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vswriter.h (включая Vss.h, VsWriter.h)
Библиотека VssApi.lib

См. также раздел

IVssCreateWriterMetadata