Compartilhar via


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

O método OnBackupComplete é chamado por um gravador após um evento BackupComplete . Ele é usado para executar operações consideradas necessárias após um backup. No entanto, essas operações não podem modificar o Documento de Componentes de Backup.

OnBackupComplete é um método virtual. Ele é implementado pela classe base CVssWriter , mas pode ser substituído por classes derivadas.

Sintaxe

bool OnBackupComplete(
  [in] IVssWriterComponents *pComponent
);

Parâmetros

[in] pComponent

Um ponteiro para um objeto IVssWriterComponents passado pelo VSS para fornecer ao método acesso às informações de componente do gravador. O valor desse parâmetro poderá ser NULL se o solicitante não der suporte a componentes (se CVssWriter::AreComponentsSelected retornar false).

Retornar valor

Conforme implementado pela classe base, OnBackupComplete sempre retorna true.

Qualquer outra implementação desse método deve retornar true , exceto no caso de um erro fatal. Se ocorrer um erro fatal, o método deverá chamar o método CVssWriter::SetWriterFailure para fornecer uma descrição da falha antes de retornar false. Se ocorrer um erro não fatal, o método ainda deverá chamar SetWriterFailure , mas retornar true. Se o erro for causado por um problema transitório, o método deverá especificar VSS_E_WRITERERROR_RETRYABLE na chamada para SetWriterFailure.

Em todos os casos em que ocorre uma falha, o método deve gravar um evento no log de eventos para relatar o motivo exato da falha.

Comentários

A implementação padrão desse método pela classe base CVssWriter retorna true sem executar nenhuma outra operação.

Se operações especiais forem executadas pelo gravador no final de um backup, a implementação padrão poderá ser substituída.

Com a geração de um evento BackupComplete , o Documento de Componentes de Backup de um solicitante se torna um documento somente leitura. Portanto, as tentativas de modificar o documento por meio da interface (por exemplo, chamar IVssComponent::SetBackupMetadata) falharão nas implementações do usuário do OnBackupComplete.

Um aplicativo de backup bem-sucedido gerará um evento BackupComplete quando todos os dados forem salvos na mídia de backup.

No entanto, não há garantia de que o gravador receba uma notificação de evento BackupComplete , pois eles exigem que o aplicativo de backup conclua o backup com êxito ou falhe normalmente.

Um evento BackupComplete pode falhar ao ser gerado caso o aplicativo de backup seja encerrado pelo sistema ou manualmente antes da conclusão do backup (por exemplo, se a operação de backup foi interrompida e teve que ser desligada).

Um gravador deve manter informações de estado para que possa acompanhar se um evento BackupComplete foi enviado para um determinado conjunto de cópias de sombra.

Essas informações podem ser usadas pelo manipulador de eventos BackupShutdown de um gravador (CVssWriter::OnBackupShutdown), que será chamado quando um aplicativo de backup for realmente encerrado e seu IVssBackupComponents for liberado, para executar operações de limpeza caso não haja nenhuma chamada para OnBackupComplete.

Os gravadores nunca devem gerar uma exceção desse método ou de qualquer outro método de retorno de chamada CVssWriter(Ex)::OnXxx .

Se esse método chamar o método CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure ou CVssWriterEx2::SetWriterFailureEx , ele deverá fazê-lo no mesmo thread que chamou esse método. Para obter mais informações, consulte Tratamento de eventos do gravador.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vswriter.h (inclua Vss.h, VsWriter.h)
Biblioteca VssApi.lib

Confira também

CVssWriter

CVssWriter::SetWriterFailure

IVssBackupComponents

IVssWriterComponents