Determinar o status do gravador
Um solicitante precisa ter um entendimento bem definido sobre o status do gravador participante durante a criação da cópia de sombra e durante as operações de backup e restauração. Para isso, é recomendável:
Que os solicitantes usem IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatusCount e IVssBackupComponents::GetWriterStatus.
Conforme descrito em Visão geral do processamento de um backup em VSS e Visão geral do processamento de uma restauração em VSS, esses métodos são mais úteis quando chamados em uma sequência de backup ou restauração bem definida. Normalmente, isso significa que os gravadores devem ser consultados depois que um solicitante concluir uma de suas tarefas e gerar um evento VSS.
Ao processar um backup, um solicitante deve consultar um gravador após a conclusão dos métodos a seguir. Os solicitantes devem chamar GatherWriterStatus após chamar BackupComplete para fazer com que a sessão do gravador seja definida como um estado concluído.
Observação
Isso só é necessário no Windows Server 2008 com o Service Pack 2 (SP2) e anterior.
IVssBackupComponents::PrepareForBackup
Durante as operações de restauração, um solicitante deve consultar um gravador após a conclusão desses métodos:
- As chamadas para IVssBackupComponents::GatherWriterStatus que não fazem parte de uma sequência de backup ou restauração bem definida não fornecem uma imagem confiável do status do gravador, pois elas podem refletir condições que não indicam falha na operação atual, como:
- Falha de uma criação de cópia de sombra anterior
- Erro em uma operação de backup ou restauração antecipada
- Um gravador sem resposta atualmente processando um evento
Portanto, os desenvolvedores não devem confiar no status do gravador retornado por processos diferentes do solicitante ou tentar monitorar o progresso de uma instância da interface IVssBackupComponents com outra (possivelmente em um thread separado).
Observe que para operações de backup, onde é necessário examinar os Documentos de Metadados do Gravador dos gravadores, não há necessidade de uma chamada do solicitante para IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus após a geração e manipulação do evento Identify causado por IVssBackupComponents::GatherWriterMetdata.
IVssBackupComponents::GetWriterStatus relata apenas o status dos gravadores cujos metadados foram fornecidos ao VSS pelos manipuladores de eventos Identify dos gravadores, CVssWriter::OnIdentify (e retornados ao solicitante por IVssBackupComponents::GetWriterMetadataCount e IVssBackupComponents::GetWriterMetadata).
Se a implementação de um gravador de CVssWriter::OnIdentify falhar, os metadados desse gravador não farão parte da lista de Documentos de Metadados do Gravador fornecidos ao VSS, nenhuma informação de status estará disponível e a chamada será redundante.
Para operações de restauração, em que o solicitante não precisa examinar os Documentos de Metadados do Gravador dos gravadores em execução, chamar IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus pode ser uma maneira mais eficiente de determinar quais gravadores estão sendo executados.