Ciclo de vida do documento de componentes de backup

Os solicitantes são os principais responsáveis pelo ciclo de vida de um documento de componentes de backup.

Esse controle é exercido por uma instância do IVssBackupComponents objeto de interface retornado por CreateVssBackupComponents.

Um solicitante deve inicializar um documento de componentes de backup antes de um backup ou restauração chamando IVssBackupComponents::InitializeForBackup ou IVssBackupComponents::InitializeForRestore. O solicitante pode inicializar o documento como vazio ou pode carregar uma cópia do documento armazenada anteriormente.

Para operações de backup, um documento de componentes de backup normalmente é inicializado como vazio. Seus dados serão preenchidos com a cooperação dos criadores do sistema durante o processamento do backup.

Para operações de restauração, um documento de componentes de backup normalmente é inicializado a partir de um documento armazenado gerado durante o backup inicial. Isso permite que a restauração (em conjunto com o exame de documentos de metadados do gravador armazenados) determine quais dados foram inicialmente copiados e como eles devem ser restaurados.

Fazer backup de cópias de sombra transportáveis é uma exceção a essa regra. Nesse caso, uma cópia de sombra poderia ter sido movida de um sistema (onde foi criada junto com o documento inicial de componentes de backup) para outro por meio da reatribuição da unidade lógica de um dispositivo de armazenamento compartilhado. Para fazer backup nessas circunstâncias, um solicitante carrega o estado de backup armazenado e prossegue de onde o sistema inicial parou. (Para obter mais informações, consulte Importando volumes copiados de sombra transportáveis.)

Durante o processamento de um backup, o solicitante decide quais componentes realmente copiar com base em quais componentes são marcados como selecionáveis parade backup, os caminhos lógicos do componentee sua própria lógica interna.

Alguns dos componentes serão explicitamente incluídos na operação de backup; as informações sobre o componente serão adicionadas ao documento de componentes de backup. Outros serão incluídos implicitamente no backup; as informações sobre os componentes adicionados não serão adicionadas ao documento de componentes de backup.

Todos os componentes de backup não selecionáveis de um gravador sem um ancestral selecionável em seu caminho lógico, e aqueles selecionáveis para componentes de backup escolhidos pelo solicitante, serão adicionados explicitamente.

Tanto os componentes não selecionáveis quanto os selecionáveis para backup podem ser adicionados implicitamente se tiverem um ancestral selecionável em seu caminho lógico, que é explicitamente incluído no backup. Estes componentes (subcomponentes) são membros de conjuntos de componentes definidos pelo seu ancestral selecionável.

Ao lidar com operações de restauração, o solicitante usa selecionabilidade para de restauração em vez de selecionabilidade para backup em conjunto com informações de caminho lógico e sua própria lógica interna para decidir quais arquivos restaurar.

Se um componente que foi adicionado implicitamente ao backup agora for explicitamente adicionado à restauração, o solicitante atualizará o documento de componentes de backup com as informações desse componente.

As informações sobre os componentes armazenados estão disponíveis para solicitantes e gravadores por meio de instâncias da interfaceIVssComponent.

É através de interfaces IVssComponent que os gravadores podem consultar e (até o final de PostSnapshot e eventos PostRestore) modificar informações no documento de componentes de backup.

Quando o CVssWriter::OnPrepareBackup, CVssWriter::OnPreRestore, CVssWriter::OnPostSnapshot, CVssWriter::OnBackupCompleteou CVssWriter::OnPostRestore manipulador de eventos é chamado, um gravador recebe uma instância de um IVssWriterComponents interface.

Observe que, após a geração do evento BackupComplete, o documento de componentes de backup se torna somente leitura e, portanto, CVssWriter::OnBackupComplete não pode usar a interfaceIVssComponent dopara modificá-lo.

A partir da interfaceIVSSWriterComponents, o gravador pode recuperar instâncias da interfaceIVssComponent doque lhe permitirá acessar todos os seus componentes explicitamente adicionados ao documento de componentes de backup e alterar seu estado. Para obter mais informações, consulte Visão geral do processamento de um backup em VSS e Visão geral do processamento de uma restauração em VSS.

Componentes de backup Os documentos são removidos da memória quando a interfaceIVssBackupComponents doé liberada e devem ser armazenados usando IVssBackupComponents::SaveAsXML, ou todas as suas informações serão perdidas.

Além disso, quando um documento IVssBackupComponents é liberado corretamente, um evento BackupShutdown é gerado ecópias de sombra de liberação automática são excluídas.