структура VSS_COMPONENTINFO (vsbackup.h)

Структура VSS_COMPONENTINFO содержит сведения о данном компоненте и возвращается инициаторам запроса с помощью интерфейса IVssWMComponent .

Синтаксис

typedef struct _VSS_COMPONENTINFO {
  VSS_COMPONENT_TYPE type;
  BSTR               bstrLogicalPath;
  BSTR               bstrComponentName;
  BSTR               bstrCaption;
  BYTE               *pbIcon;
  UINT               cbIcon;
  bool               bRestoreMetadata;
  bool               bNotifyOnBackupComplete;
  bool               bSelectable;
  bool               bSelectableForRestore;
  DWORD              dwComponentFlags;
  UINT               cFileCount;
  UINT               cDatabases;
  UINT               cLogFiles;
  UINT               cDependencies;
} VSS_COMPONENTINFO;

Члены

type

Тип компонента. См . VSS_COMPONENT_TYPE.

bstrLogicalPath

Строка, содержащая логический путь к компоненту.

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

Нет ограничений на символы, которые могут отображаться в логическом пути, отличном от NULL .

bstrComponentName

Строка, содержащая имя компонента. Строка имени компонента не может иметь значение NULL.

bstrCaption

Строка, содержащая описание компонента. Строка подпись может иметь значение NULL.

pbIcon

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

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

cbIcon

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

bRestoreMetadata

Логическое значение, указывающее, связаны ли с восстановлением компонента частные метаданные. Логическое значение имеет значение true , если есть метаданные, и false , если нет.

Модуль записи указывает, поддерживает ли компонент частные метаданные, задавая это значение при добавлении компонента с помощью IVssCreateWriterMetadata::AddComponent. Позже записи добавляют метаданные восстановления с помощью IVssComponent::SetRestoreMetadata. Инициаторы запроса получают сведения с помощью IVssComponent::GetRestoreMetadata.

bNotifyOnBackupComplete

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

bSelectable

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

Значение по умолчанию для возможности выбора компонента для резервного копирования отсутствует. Модуль записи всегда должен явно задавать значение при добавлении компонента в документ метаданных модуля записи с помощью IVssCreateWriterMetadata::AddComponent.

Кроме того, значение bSelectable, логический путь компонента и связь компонента с другими компонентами, выраженные в этом пути, определяют, когда и как компонент включается в операцию резервного копирования:

  • Для компонента резервного копирования, неизбираемого для компонента резервного копирования (bSelectable имеет значение false) без выбора для предков резервной копии в иерархии логического пути включение в резервный набор данных всегда является обязательным и всегда неявным. Инициатор запроса явно добавляет компонент в резервный набор в документе Компоненты резервного копирования с помощью IVssBackupComponents::AddComponent.
  • Для компонента резервного копирования ( bSelectable имеет значение true) без выбора для предка резервного копирования в иерархии логических путей включение в резервный набор всегда является необязательным и всегда явным. Инициатор запроса явно добавляет компонент в резервный набор в документе Компоненты резервного копирования с помощью IVssBackupComponents::AddComponent.

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

  • Для компонента резервного копирования, неизбираемого (bSelectable имеет значение false), который имеет доступный для выбора предок резервной копии в иерархии логических путей (и поэтому является частью набора компонентов, определенных этим предком), включение в резервный набор всегда неявно и зависит от включения выбранного для предка резервной копии. Инициатор запроса никогда явно не добавляет компонент в резервный набор данных в документе Компоненты резервного копирования; Вместо этого он добавляет в документ возможность выбора для предка резервного копирования с помощью IVssBackupComponents::AddComponent.
  • Для компонента резервного копирования , который можно выбрать для компонента резервного копирования (bSelectable имеет значение true), который имеет доступный для выбора предок резервной копии в иерархии логических путей (и поэтому является частью набора компонентов, определенных этим предком), включение в резервный набор может быть необязательным и явным, или, если компонент не выбран явно, его включение может быть неявным и зависеть от включения выбранного для предка резервной копии. Если включение компонента является явным, инициатор запроса явно добавляет компоненты в резервный набор в документе Компоненты резервного копирования с помощью IVssBackupComponents::AddComponent.

    Если включение является неявным, инициатор запроса не добавляет эти компоненты в резервный набор данных в документе Компоненты резервного копирования.

    Если включение компонента является явным и компонент определяет набор компонентов, члены этого набора компонентов выбираются неявно.

    Модуль записи задает возможность выбора компонента для резервного копирования (bSelectable) при добавлении компонента в документ метаданных записи с помощью IVssCreateWriterMetadata::AddComponent.

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

bSelectableForRestore

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

По умолчанию возможность выбора компонента для восстановления имеет значение false. Модуль записи может переопределить это значение по умолчанию при добавлении компонента в документ метаданных модуля записи с помощью IVssCreateWriterMetadata::AddComponent.

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

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

dwComponentFlags

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

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

cFileCount

Если компонент является файловой группой, количество дескрипторов файлов в группе. В противном случае это значение равно нулю.

cDatabases

Если компонент является базой данных, количество дескрипторов файлов базы данных. В противном случае это значение равно нулю.

cLogFiles

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

cDependencies

Количество явных зависимостей компонента записи текущего компонента. Это значение увеличивается при вызове модуля записи IVssCreateWriterMetadata::AddComponentDependency .

Комментарии

Чтобы получить VSS_COMPONENTINFO объект для данного компонента, инициатор запроса должен сначала получить соответствующий объект IVssWMComponent путем вызова IVssExamineWriterMetadata::GetComponent. Вызов IVssWMComponent::GetComponentInfo затем выделяет и возвращает структуру VSS_COMPONENTINFO .

Так как VSS_COMPONENTINFO выделяется и возвращается IVssWMComponent::GetComponentInfo, запрашивающий объект не должен освобождать объект VSS_COMPONENTINFO напрямую, а должен использовать IVssWMComponent::FreeComponentInfo.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть vsbackup.h (включая VsBackup.h, Vss.h, VsWriter.h)

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

IVssCreateWriterMetadata::AddComponent

IVssExamineWriterMetadata

IVssExamineWriterMetadata::GetComponent

IVssWMComponent

IVssWMComponent::FreeComponentInfo

IVssWMComponent::GetComponentInfo

VSS_COMPONENT_TYPE