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


Метод IVssCreateWriterMetadata::AddComponent (vswriter.h)

Метод AddComponent добавляет базу данных или группу файлов в качестве компонента для резервного копирования.

Синтаксис

HRESULT AddComponent(
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszCaption,
  [in] const BYTE         *pbIcon,
  [in] UINT               cbIcon,
  [in] bool               bRestoreMetadata,
  [in] bool               bNotifyOnBackupComplete,
  [in] bool               bSelectable,
  [in] bool               bSelectableForRestore,
  [in] DWORD              dwComponentFlags
);

Параметры

[in] ct

Значение перечисления VSS_COMPONENT_TYPE , указывающее тип компонента.

Windows Server 2003 и Windows XP: До Windows Server 2003 с пакетом обновления 1 (SP1) этот параметр зарезервирован для использования системой, и вызывающий объект не должен переопределять значение по умолчанию.

[in] wszLogicalPath

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

Логический путь необязателен и может иметь значение NULL.

[in] wszComponentName

Указатель на строку расширенных символов, завершающуюся null, которая содержит имя компонента. Эта строка не локализована.

Этот параметр является обязательным и не может иметь значение NULL. Строка не может содержать обратные косые символы.

[in] wszCaption

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

Этот параметр является необязательным и может иметь значение NULL. Строка может содержать обратную косую черту.

[in] pbIcon

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

Если модуль записи не хочет указывать значок, параметру pbIcon следует задать значение NULL.

[in] cbIcon

Размер (в байтах) буфера. Если параметр pbIcon имеет значение NULL, значение cbIcon должно быть равно нулю.

[in] bRestoreMetadata

Этот параметр зарезервирован для использования в будущем и всегда должен иметь значение false.

[in] bNotifyOnBackupComplete

Этот параметр зарезервирован для использования в будущем и всегда должен иметь значение false.

[in] bSelectable

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

[in] bSelectableForRestore

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

Если задано значение true, компонент может быть восстановлен сам по себе; При значении false компонент можно восстановить только в том случае, если восстанавливается весь набор компонентов. (Дополнительные сведения см . в разделах VSS_COMPONENTINFO и Работа с возможностью выбора и логическими путями ).

Значение по умолчанию для этого параметра — false.

[in] dwComponentFlags

Битовая маска (или побитовая ИЛИ) членов перечисления VSS_COMPONENT_FLAGS , указывающая функции, поддерживаемые этим компонентом.

Значение по умолчанию для этого аргумента равно нулю.

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

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

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

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

Комментарии

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

Сочетание логического пути и имени для каждого компонента данного экземпляра данного класса модуля записи должно быть уникальным. Попытка дважды вызвать AddComponent с одинаковыми значениями wszLogicalPath и wszComponentName приводит к ошибке VSS_E_OBJECT_ALREADY_EXISTS.

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

Требования

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

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

IVssCreateWriterMetadata