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


Метод IVssExamineWriterMetadata::GetAlternateLocationMapping (vsbackup.h)

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

Синтаксис

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

Параметры

[in] iMapping

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

[out] ppFiledesc

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

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

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

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

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED.

Комментарии

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

IVssComponent::GetAlternateLocationMapping — это альтернативное расположение, в которое был восстановлен файл.

IVssExamineWriterMetadata::GetAlternateLocationMapping — это альтернативное сопоставление расположения, в которое при необходимости можно восстановить файл.

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

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

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

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

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

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

Требования

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

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

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent::GetAlternateLocationMapping

IVssExamineWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod

IVssWMFiledesc