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


Метод IVssBackupComponentsEx::GetWriterMetadataEx (vsbackup.h)

Метод GetWriterMetadataEx возвращает метаданные для конкретного экземпляра модуля записи, работающего в системе.

Синтаксис

HRESULT GetWriterMetadataEx(
  [in]  UINT                        iWriter,
  [out] VSS_ID                      *pidInstance,
  [out] IVssExamineWriterMetadataEx **ppMetadata
);

Параметры

[in] iWriter

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

[out] pidInstance

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

[out] ppMetadata

Вдвойне косвенный указатель на экземпляр объекта IVssExamineWriterMetadataEx, который содержит возвращенные метаданные.

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

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

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

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

Комментарии

Метод GetWriterMetadataEx идентичен методу IVssBackupComponents::GetWriterMetadata , за исключением того, что он возвращает указатель интерфейса IVssExamineWriterMetadataEx, а не указатель интерфейса IVssExamineWriterMetadata в параметре ppMetadata .

Инициатор запроса должен вызвать асинхронный метод IVssBackupComponents::GatherWriterMetadata и дождаться его завершения перед вызовом GetWriterMetadataEx.

Хотя метод GatherWriterMetadata необходимо вызывать до операции восстановления или резервного копирования, метод GetWriterMetadataEx обычно не вызывается для восстановления.

Сведения о компоненте, полученные (во время операций резервного копирования) с помощью метода IVssExamineWriterMetadata::GetComponent , где интерфейс IVssExamineWriterMetadataEx был возвращен Командлетом GetWriterMetadataEx, поступают из документа метаданных модуля записи в динамическом процессе записи.

Это отличается от сведений, возвращаемых GetWriterComponents (во время операций восстановления), которые хранились в документе компонентов резервной копии путем вызовов метода IVssBackupComponents::AddComponent .

Когда вызывающий объект этого метода завершает доступ к метаданным, он должен вызвать IUnknown::Release.

Требования

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

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

IVssBackupComponents::GetWriterMetadata

IVssBackupComponentsEx

IVssExamineWriterMetadata

IVssExamineWriterMetadataEx