Метод 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::AddDatabaseWriterMetadata::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 (include Vss.h, VsWriter.h)
Библиотека VssApi.lib

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

IVssCreateWriterMetadata