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


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

Метод GetPartialFile возвращает сведения о частичном файле, связанном с этим компонентом.

Синтаксис

HRESULT GetPartialFile(
  [in]  UINT iPartialFile,
  [out] BSTR *pbstrPath,
  [out] BSTR *pbstrFilename,
  [out] BSTR *pbstrRange,
  [out] BSTR *pbstrMetadata
);

Параметры

[in] iPartialFile

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

[out] pbstrPath

Указатель на строку, содержащую путь к частичному файлу.

Пользователям этого метода необходимо проверка, чтобы определить, заканчивается ли этот путь обратной косой чертой ("").

[out] pbstrFilename

Указатель на строку, содержащую имя частичного файла.

[out] pbstrRange

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

[out] pbstrMetadata

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

Дополнительные метаданные не требуются, поэтому pbstrMetadata также могут быть пустыми (нулевая длина).

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

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

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

Комментарии

Вызывающий объект должен освободить память, хранящуюся в параметрах pbstrPath, pbstrFilename, pbstrRange и pbstrMetadata , вызвав SysFreeString.

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

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

Если pbstrRanges ссылается на файл, содержащий все смещения и длины (файл диапазонов), pbstrRanges должен содержать полный путь к файлу.

Если wszRange ссылается на файл, содержащий все смещения и длины (файл диапазонов), wszRange должен содержать полный путь к файлу.

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

  1. 64-разрядное целое число, указывающее количество различных диапазонов файлов, для которых требуется создать резервную копию.
  2. Каждый диапазон, выраженный в виде пары 64-разрядных целых чисел: смещение в резервном копировании файла в байтах и длина данных, начиная с этого смещения для резервного копирования.
Необходимо создать резервную копию файла диапазонов вместе с частичным файлом и, как правило, восстановить в том же расположении, откуда была создана резервная копия.

Однако расположение, в которое восстанавливается файл диапазонов, может быть изменено инициатором запроса, который использует IVssBackupComponents::SetRangesFilePath для указания этого и обновления документа компонентов резервного копирования таким образом, чтобы pbstrRanges указывал правильный файл диапазонов.

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

Требования

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

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

IVssBackupComponents::SetRangesFilePath

IVssComponent

IVssComponent::AddPartialFile

IVssComponent::GetPartialFileCount