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