Метод CVssWriter::OnPreRestore (vswriter.h)
Метод OnPreRestore вызывается модулем записи после события PreRestore . Этот метод используется для перевода модуля записи в состояние для поддержки восстановления( например, перевода служб базы данных в автономный режим) и внесения изменений в документе компонентов резервного копирования инициатора, который восстанавливает файлы (например, установка целевого объекта восстановления для переопределения исходного метода восстановления).
OnPreRestore — это виртуальный метод. Он реализуется базовым классом CVssWriter , но может быть переопределен производными классами.
Синтаксис
bool OnPreRestore(
[in] IVssWriterComponents *pComponent
);
Параметры
[in] pComponent
Указатель на экземпляр объекта IVssWriterComponents, содержащего компоненты, связанные с текущим модулем записи в документе компонентов резервного копирования инициатора запроса.
Возвращаемое значение
Как реализовано базовым классом, OnPreRestore всегда возвращает значение true.
Любая другая реализация этого метода должна возвращать значение true , за исключением случаев неустранимой ошибки. При возникновении неустранимой ошибки метод должен вызвать метод CVssWriter::SetWriterFailure , чтобы предоставить описание сбоя, прежде чем возвращать значение false. Если возникает некритичная ошибка, метод должен по-прежнему вызывать SetWriterFailure , но возвращать значение true. Если ошибка вызвана временной проблемой, метод должен указать VSS_E_WRITERERROR_RETRYABLE в вызове SetWriterFailure.
Во всех случаях, когда происходит сбой, метод должен записывать событие в журнал событий, чтобы сообщить точную причину сбоя.
Комментарии
Событие PreRestore возникает перед фактическим восстановлением данных из резервной копии. Это возможность для автора определить, что восстанавливается.
Реализация этого метода по умолчанию базовым классом CVssWriter возвращает значение true без выполнения каких-либо других операций.
Этот метод позволяет модулю записи определить, что восстанавливается, получить сохраненные частные метаданные в хранимом документе компонентов резервной копии и обновить эти данные.
Модули записи никогда не должны вызывать исключение из этого метода или любого другого метода обратного вызова CVssWriter(Ex)::OnXxx .
Если этот метод вызывает метод CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure или CVssWriterEx2::SetWriterFailureEx , он должен сделать это в том же потоке, который вызвал этот метод. Дополнительные сведения см. в разделе Обработка событий записи.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | vswriter.h (включая Vss.h, VsWriter.h) |
Библиотека | VssApi.lib |