Метод 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 |