Relatando o progresso da sincronização de arquivos

Um aplicativo pode acompanhar o progresso da sincronização registrando-se para receber notificações que ocorrem durante a sincronização.

Código gerenciado Registre manipuladores para receber eventos do objeto FileSyncProvider, como CopyingFile, que ocorre periodicamente para mostrar o progresso enquanto um arquivo está sendo copiado; ou AppliedChange, que ocorre quando uma alteração de arquivo é aplicada.

Código não gerenciado Passe um objeto IFileSyncProviderCallback para o método IFileSyncProvider::Initialize. Os métodos IFileSyncProviderCallback são chamados quando são gerados eventos, como IFileSyncProviderCallback::OnFileCopyProgress, que ocorre periodicamente para mostrar o progresso enquanto um arquivo está sendo copiado; ou IFileSyncProviderCallback::OnChangeApplied, que ocorre quando uma alteração de arquivo é aplicada.

Modo de visualização

O aplicativo pode colocar o provedor no modo de visualização definindo o valor da propriedade PreviewMode como true (para código gerenciado) ou passando TRUE para o método IFileSyncProvider::SetPreviewMode (para código não gerenciado) antes de iniciar a sincronização. Enquanto está no modo de visualização, o provedor detecta alterações e gera eventos da mesma maneira que durante uma sessão de sincronização típica. O provedor, no entanto, não aplica realmente as alterações à réplica de destino e não envia o evento AppliedChange (para código gerenciado) ou o evento IFileSyncProviderCallback::OnChangeApplied (para código não gerenciado).

Mostrando o progresso incremental

Para mostrar o progresso incremental durante uma sessão de sincronização, use os procedimentos a seguir.

Código gerenciado

  1. Registre-se para manipular o evento ApplyingChange.

  2. Habilite o modo de visualização no provedor definindo o valor da propriedade PreviewMode como true.

  3. Execute a sincronização e conte o número total de vezes que ApplyingChange é gerado.

  4. Registre-se para manipular o evento AppliedChange.

  5. Desabilite o modo de visualização no provedor definindo o valor da propriedade PreviewMode como false.

  6. Execute a sincronização. Quando AppliedChange for gerado, o progresso da sincronização poderá ser incrementado até o número total de alterações calculadas quando a sincronização foi executada no modo de visualização.

Código não gerenciado

  1. Registre-se para receber o retorno de chamada IFileSyncProviderCallback::OnApplyingChange.

  2. Habilite o modo de visualização no provedor passando TRUE para o método IFileSyncProvider::SetPreviewMode.

  3. Execute a sincronização e conte o número total de vezes que OnApplyingChange é chamado.

  4. Registre-se para receber o retorno de chamada IFileSyncProviderCallback::OnChangeApplied.

  5. Desabilite o modo de visualização no provedor passando FALSE para o método IFileSyncProvider::SetPreviewMode.

  6. Execute a sincronização. Quando OnChangeApplied for chamado, o progresso da sincronização poderá ser incrementado até o número total de alterações calculada quando a sincronização foi executada no modo de visualização.

Consulte também

Referência

Interface IFileSyncProviderCallback

Conceitos

Sincronizando arquivos