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


Метод IVssExamineWriterMetadataEx::GetIdentityEx (vsbackup.h)

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

Синтаксис

HRESULT GetIdentityEx(
  [out] VSS_ID          *pidInstance,
  [out] VSS_ID          *pidWriter,
  [out] BSTR            *pbstrWriterName,
  [out] BSTR            *pbstrInstanceName,
  [out] VSS_USAGE_TYPE  *pUsage,
  [out] VSS_SOURCE_TYPE *pSource
);

Параметры

[out] pidInstance

Глобальный уникальный идентификатор (GUID) экземпляра модуля записи.

[out] pidWriter

GUID класса записи.

[out] pbstrWriterName

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

[out] pbstrInstanceName

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

[out] pUsage

Указатель на значение перечисления VSS_USAGE_TYPE , указывающее, как данные, управляемые модулем записи, используются в хост-системе.

[out] pSource

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

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

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

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

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

Комментарии

Этот метод идентичен методу IVssExamineWriterMetadata::GetIdentity , за исключением параметра pbstrInstanceName .

Параметр pbstrInstanceName — это имя экземпляра модуля записи, указанное во время инициализации модуля записи CVssWriter::Initialize.

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

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

Интерфейс IVssExamineWriterMetadataEx может быть получен из хранимых сведений о состоянии модуля записи (созданных вызовом CreateVssExamineWriterMetadata). Если это так, то выполняются следующие условия:

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

Требования

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

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

CVssWriter::Initialize

IVssExamineWriterMetadataEx