Share via


Método CVssWriter::OnBackupComplete (vswriter.h)

Un escritor llama al método OnBackupComplete después de un evento BackupComplete . Se usa para realizar operaciones que se consideran necesarias después de una copia de seguridad. Sin embargo, estas operaciones no pueden modificar el documento componentes de copia de seguridad.

OnBackupComplete es un método virtual. Se implementa mediante la clase base CVssWriter , pero se puede invalidar mediante clases derivadas.

Sintaxis

bool OnBackupComplete(
  [in] IVssWriterComponents *pComponent
);

Parámetros

[in] pComponent

Puntero a un objeto IVssWriterComponents pasado por VSS para proporcionar al método acceso a la información del componente del escritor. El valor de este parámetro puede ser NULL si el solicitante no admite componentes (si CVssWriter::AreComponentsSelected devuelve false).

Valor devuelto

Tal como lo implementa la clase base, OnBackupComplete siempre devuelve true.

Cualquier otra implementación de este método debe devolver true , excepto en el caso de un error irrecuperable. Si se produce un error irrecuperable, el método debe llamar al método CVssWriter::SetWriterFailure para proporcionar una descripción del error antes de devolver false. Si se produce un error nofatal, el método debe llamar a SetWriterFailure pero devolver true. Si el error se debe a un problema transitorio, el método debe especificar VSS_E_WRITERERROR_RETRYABLE en la llamada a SetWriterFailure.

En todos los casos en los que se produce un error, el método debe escribir un evento en el registro de eventos para notificar el motivo exacto del error.

Comentarios

La implementación predeterminada de este método por la clase base CVssWriter devuelve true sin realizar ninguna otra operación.

Si el escritor va a realizar operaciones especiales al final de una copia de seguridad, se puede invalidar la implementación predeterminada.

Con la generación de un evento BackupComplete , el documento componentes de copia de seguridad de un solicitante se convierte en un documento de solo lectura. Por lo tanto, los intentos de modificar el documento a través de la interfaz (por ejemplo, la llamada a IVssComponent::SetBackupMetadata) producirán un error en las implementaciones de usuario de OnBackupComplete.

Una aplicación de copia de seguridad correcta generará un evento BackupComplete cuando todos los datos se hayan guardado en medios de copia de seguridad.

Sin embargo, no hay ninguna garantía del escritor que recibe una notificación de eventos BackupComplete , ya que requieren que la aplicación de copia de seguridad complete correctamente la copia de seguridad o no se realice correctamente.

Un evento BackupComplete podría no generarse si el sistema finalizaba la aplicación de copia de seguridad o manualmente antes de la finalización de la copia de seguridad (por ejemplo, si la operación de copia de seguridad se bloqueaba y tenía que cerrarse).

Un escritor debe mantener la información de estado para que pueda realizar un seguimiento de si se envió un evento BackupComplete para un conjunto de instantáneas determinado.

El controlador de eventos BackupShutdown de un escritor (CVssWriter::OnBackupShutdown), al que se llamará cuando una aplicación de copia de seguridad finalice realmente y se publiquen sus IVssBackupComponents , para realizar operaciones de limpieza si no hay ninguna llamada a OnBackupComplete.

Los escritores nunca deben iniciar una excepción de este método ni de ningún otro CVssWriter(Ex)::OnXxx método de devolución de llamada.

Si este método llama al método CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure o CVssWriterEx2::SetWriterFailureEx , debe hacerlo en el mismo subproceso que llamó a este método. Para obtener más información, vea Writer Event Handling.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vswriter.h (incluye Vss.h, VsWriter.h)
Library VssApi.lib

Consulte también

CVssWriter

CVssWriter::SetWriterFailure

IVssBackupComponents

IVssWriterComponents