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

Метод GetDirectedTarget возвращает сведения, хранящиеся модулем записи во время резервного копирования, в документ компонентов резервной копии, чтобы указать, что при восстановлении файла его (исходный файл) необходимо перенаставить. Файл можно восстановить в новый целевой объект восстановления и (или) диапазоны его данных, восстановленные в разных расположениях с помощью целевого объекта восстановления.

Этот метод может вызвать модуль записи или инициатор запроса.

Синтаксис

HRESULT GetDirectedTarget(
  [in]  UINT iDirectedTarget,
  [out] BSTR *pbstrSourcePath,
  [out] BSTR *pbstrSourceFileName,
  [out] BSTR *pbstrSourceRangeList,
  [out] BSTR *pbstrDestinationPath,
  [out] BSTR *pbstrDestinationFilename,
  [out] BSTR *pbstrDestinationRangeList
);

Параметры

[in] iDirectedTarget

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

[out] pbstrSourcePath

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

[out] pbstrSourceFileName

Адрес переменной, выделенной вызывающим объектом, которая получает строку, содержащую имя файла (во время резервного копирования), который должен быть переназначен во время восстановления (исходный файл). Имя этого файла не должно содержать подстановочные знаки и должно быть членом того же набора файлов, что и исходный путь (pbstrSourcePath).

[out] pbstrSourceRangeList

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

Количество и длина диапазонов поддержки исходного файла должны соответствовать количеству и размеру диапазонов поддержки целевых файлов.

[out] pbstrDestinationPath

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

[out] pbstrDestinationFilename

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

[out] pbstrDestinationRangeList

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

Количество и длина диапазонов поддержки целевых файлов должны соответствовать количеству и размеру диапазонов поддержки исходных файлов.

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

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

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

Комментарии

Если вызов GetDirectedTarget выполнен успешно, вызывающий объект отвечает за освобождение каждой возвращаемой строки путем вызова функции SysFreeString .

Инициатор запроса будет использовать сведения о целевом объекте, хранящиеся в документе Компонентов резервного копирования, только если целевой объект восстановления VSS_RT_DIRECTED.

Синтаксис списка диапазонов (wszSourceRanges и wszDestinationRanges) представляет собой разделенный запятыми список формы offset1:length1, offset2:length2, где каждое смещение и длина являются 64-разрядным целым числом, указывающим байтовое смещение и длину в байтах соответственно. Смещение и длина могут быть выражены в виде шестнадцатеричных или десятичных значений.

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

Вызывающий объект должен освободить память, хранящуюся в параметрах pbstrSourcePath, pbstrSourceFileName, pbstrSourceRangeList, pbstrDestinationPath, pbstrDestinationFilename и pbstrDestinationRangeList , вызвав SysFreeString.

Частичные файлы могут добавляться в качестве целевых объектов, если диапазоны частичных файлов для резервного копирования совпадают с целевыми исходными диапазонами (см. IVssComponent::AddPartialFile). Это позволит повторно сопоставить частичные файлы.

Инициатору запроса потребуется проверка, было ли резервное копирование целевого исходного файла в виде частичного файла, чтобы правильно реализовать восстановление. В этом случае инициатор запроса использует сведения о целевом объекте в сочетании с частичными сведениями о файлах (IVssComponent::GetPartialFile) для реализации повторного сопоставления резервных копий данных во время восстановления.

Требования

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

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

IVssComponent

IVssComponent::AddDirectedTarget

IVssComponent::GetDirectedTargetCount