Метод IVssComponent::GetAlternateLocationMapping (vswriter.h)

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

Синтаксис

HRESULT GetAlternateLocationMapping(
  [in]  UINT           iMapping,
  [out] IVssWMFiledesc **ppFiledesc
);

Параметры

[in] iMapping

Индекс определенного сопоставления. Значение этого параметра — целое число от 0 до n–1 включительно, где n — общее количество сопоставлений альтернативных расположений, связанных с текущим компонентом. Значение n возвращается IVssComponent::GetAlternateLocationMappingCount.

[out] ppFiledesc

Вдвойне косвенный указатель на объект IVssWMFiledesc , содержащий сведения о сопоставлении.

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

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

Значение Значение
S_OK
Успешно возвращено значение атрибута.
E_INVALIDARG
Одно из значений параметра недопустимо.
E_OUTOFMEMORY
У вызывающего объекта не хватает памяти или других системных ресурсов.
VSS_E_INVALID_XML_DOCUMENT
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
VSS_E_OBJECT_NOT_FOUND
Указанный элемент не найден.

Комментарии

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

Значение, возвращаемое IVssComponent::GetAlternateLocationMapping , также не следует путать с значением, возвращаемым IVssExamineWriterMetadata::GetAlternateLocationMapping:

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

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

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

Сопоставление, возвращаемое командой GetAlternateLocationMapping , относится к сопоставлениям альтернативных расположений, используемым в процессе восстановления файлов.

Альтернативные сопоставления расположения добавляются в объект IVssComponent методом IVssBackupComponents::AddAlternativeLocationMapping.

Вызывающий объект должен вызвать IUnknown::Release , чтобы освободить системные ресурсы, удерживаемые параметром ppMapping , когда выполняется с помощью объекта IVssWMFiledesc , на который он указывает.

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

Требования

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

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

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent

IVssExamineWriterMetadata::GetAlternateLocationMapping