Compartilhar via


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

O método OnPrepareBackup é chamado por um gravador após um evento PrepareForBackup . Esse método é usado para configurar o estado de um gravador e seus componentes em preparação para uma operação de backup.

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

Sintaxe

bool OnPrepareBackup(
  [in] IVssWriterComponents *pComponent
);

Parâmetros

[in] pComponent

Ponteiro para uma instanciação de um objeto IVssWriterComponents que contém o conteúdo do Documento de Metadados 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, OnPrepareBackup 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.

OnPrepareBackup oferece a um gravador uma oportunidade de selecionar mais finamente o que será feito o backup.

Manipular o evento PrepareForBackup é a última oportunidade para um gravador obter acesso aos metadados contidos no Documento de Componentes de Backup antes da criação da cópia de sombra.

Portanto, OnPrepareBackup oferece uma oportunidade para o gravador fazer quaisquer adições finais ou atualizações para informações de componente armazenadas (usando a interface IVssComponent ). Em particular, os metadados específicos do gravador podem ser atualizados por IVssComponent::SetBackupMetadata ou IVssComponent::SetRestoreMetadata.

Além disso, ao manipular o evento PrepareForSnapshot fornece outra oportunidade no ciclo de vida de uma operação de backup do VSS para executar operações demoradas (como sincronizar dados em vários sites), o OnPrepareBackup oferece uma chance para o gravador iniciar essa operação de forma assíncrona. Tarefas como essas devem ser concluídas antes do retorno de CVssWriter::OnPrepareSnapshot.

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

Um solicitante gera um evento PrepareForBackup , disparando uma chamada para OnPrepareBackup, chamando IVssBackupComponents::P repareForBackup.

Se esse método chamar o método CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure ou CVssWriterEx2::SetWriterFailureEx , ele deverá fazer isso 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::OnPostSnapshot

CVssWriter::OnPreRestore

CVssWriter::SetWriterFailure

IVssWriterComponents