Метод 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 (include Vss.h, VsWriter.h)
Библиотека VssApi.lib

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

CVssWriter

CVssWriter::OnBackupComplete

CVssWriter::SetWriterFailure

IVssBackupComponents::BackupComplete