Метод CVssWriterEx::OnIdentifyEx (vswriter.h)

Возвращает указатель на объект IVssCreateWriterMetadataEx .

OnIdentifyEx — это виртуальный метод. Он реализуется базовым классом CVssWriterEx , но может быть переопределен производными классами.

Синтаксис

bool OnIdentifyEx(
  [in] IVssCreateWriterMetadataEx *pMetadata
);

Параметры

[in] pMetadata

Указатель на объект IVssCreateWriterMetadataEx .

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

Как реализовано базовым классом, OnIdentifyEx всегда возвращает значение true.

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

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

Комментарии

Метод OnIdentifyEx идентичен методу OnIdentify , за исключением того, что он возвращает указатель интерфейса IVssCreateWriterMetadataEx вместо указателя интерфейса IVssCreateWriterMetadata в параметре pMetadata . Модуль записи может переопределить OnIdentify или OnIdentifyEx, но не оба.

Модули записи никогда не должны вызывать исключение из этого метода или любого другого метода обратного вызова CVssWriter(Ex)::OnXxx .

Средства записи никогда не должны вызывать метод CVssWriter::SetWriterFailure из метода OnIdentify или OnIdentifyEx .

Если этот метод вызывает метод CVssWriterEx2::GetSessionId , он должен делать это в том же потоке, который вызвал этот метод. Дополнительные сведения см. в разделе Обработка событий записи.

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

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

Событие Identify требуется перед событиями, составляющими последовательность резервного копирования или восстановления. Поэтому OnIdentifyEx обычно вызывается для обработки события Identify в ответ на вызов запрашивающего объекта IVssBackupComponents::GatherWriterMetadata в рамках операции резервного копирования или восстановления.

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

По этой причине средства записи никогда не должны использовать свою реализацию OnIdentifyEx любым из следующих способов:

  • В качестве начала обработки последовательности резервного копирования или восстановления
  • Установка или сохранение сведений о состоянии модуля записи
Дополнительные сведения о взаимодействии записи с событиями см. в разделе Обработка событий записи.

Во время событий PrepareForBackup, PrepareForSnapshot и PostSnapshot модуль записи может использовать метод GetIdentifyInformation для получения метаданных, о чем ранее сообщал метод OnIdentifyEx модуля записи.

Жизненный цикл объекта IVssCreateWriterMetadataEx , на который указывает параметр pMetadata , управляется инфраструктурой VSS.

Требования

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

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

CVssWriterEx

CVssWriterEx::GetIdentifyInformation

IVssCreateWriterMetadataEx