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

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

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

Этот метод нельзя вызвать при обработке события BackupComplete (CVssWriter::OnBackupComplete) или BackupShutdown (CVssWriter::OnBackupShutdown).

Синтаксис

HRESULT AddDirectedTarget(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilename,
  [in] LPCWSTR wszSourceRangeList,
  [in] LPCWSTR wszDestinationPath,
  [in] LPCWSTR wszDestinationFilename,
  [in] LPCWSTR wszDestinationRangeList
);

Параметры

[in] wszSourcePath

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

[in] wszSourceFilename

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

[in] wszSourceRangeList

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

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

[in] wszDestinationPath

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

[in] wszDestinationFilename

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

[in] wszDestinationRangeList

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

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

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

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

Значение Значение
S_OK
Элемент успешно задан.
E_INVALIDARG
Одно из значений параметра является недопустимым.
E_OUTOFMEMORY
Вызывающий объект не имеет памяти или других системных ресурсов.
VSS_E_BAD_STATE
Этот метод не вызывался модулем записи или, если он вызывается модулем записи, он либо не был вызван во время операции восстановления, либо был вызван при обработке события BackupComplete или BackupShutdown .

Комментарии

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

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

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

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

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

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

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

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

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

Требования

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

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

IVssComponent

IVssComponent::GetDirectedTarget

IVssComponent::GetDirectedTargetCount