Ciclo de Vida do Documento de Componentes de Backup
Os solicitantes têm a principal responsabilidade pelo ciclo de vida de um Documento de Componentes de Backup.
Esse controle é exercido por uma instância do objeto de interface IVssBackupComponents 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 armazenada anteriormente do documento.
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 gravadores do sistema durante o processamento do backup.
Para operações de restauração, um Documento de Componentes de Backup normalmente é inicializado 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 (em que foi criada junto com o Documento de Componentes de Backup inicial) para outro por meio da reatribuçã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ável.)
No curso do processamento de um backup, o solicitante decide quais componentes realmente copiar com base em quais componentes são marcados como selecionáveis para backup, os caminhos lógicos do componente e sua própria lógica interna.
Alguns dos componentes serão incluídos explicitamente na operação de backup; informações sobre o componente serão adicionadas ao Documento de Componentes de Backup. Outros serão incluídos implicitamente no backup; informações sobre os componentes adicionados não serão adicionadas ao Documento de Componentes de Backup.
Todos os componentes não selecionáveis de um gravador para componentes de backup 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.
Ambos não selecionáveis e selecionáveis para componentes de backup podem ser adicionados implicitamente se eles tiverem um ancestral selecionável em seu caminho lógico, que está explicitamente incluído no backup. Esses componentes (subcomponentes) são membros de conjuntos de componentes definidos por seu ancestral selecionável.
Ao lidar com operações de restauração, o solicitante usa a selebilidade para restauração em vez de selecionar a capacidade de 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 for adicionado explicitamente à 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 interface IVssComponent .
É por meio de interfaces IVssComponent que os gravadores podem consultar e (até o final dos eventos PostSnapshot e PostRestore ) modificar informações no Documento de Componentes de Backup.
Quando o manipulador de eventos CVssWriter::OnPrepareBackup, CVssWriter::OnPreRestore, CVssWriter::OnPostSnapshot, CVssWriter::OnBackupComplete ou CVssWriter::OnPostRestore é chamado, um gravador recebe uma instância de uma interface IVssWriterComponents .
Observe que, após a geração do evento BackupComplete , o Documento de Componentes de Backup é feito somente leitura e, portanto, CVssWriter::OnBackupComplete não pode usar a interface IVssComponent para modificá-lo.
Na interface IVSSWriterComponents , o gravador pode recuperar instâncias da interface IVssComponent que permitirão que ela acesse todos os componentes adicionados explicitamente ao Documento de Componentes de Backup e altere 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 no VSS.
Os documentos de componentes de backup são removidos da memória quando a interface IVssBackupComponents é lançada e devem ser armazenados usando IVssBackupComponents::SaveAsXML ou todas as informações serão perdidas.
Além disso, quando um documento IVssBackupComponents é liberado corretamente, um evento BackupShutdown é gerado ecópias de sombra de versão automática são excluídas .