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
Registre-se para manipular o evento ApplyingChange.
Habilite o modo de visualização no provedor definindo o valor da propriedade PreviewMode como true.
Execute a sincronização e conte o número total de vezes que ApplyingChange é gerado.
Registre-se para manipular o evento AppliedChange.
Desabilite o modo de visualização no provedor definindo o valor da propriedade PreviewMode como false.
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
Registre-se para receber o retorno de chamada IFileSyncProviderCallback::OnApplyingChange.
Habilite o modo de visualização no provedor passando TRUE para o método IFileSyncProvider::SetPreviewMode.
Execute a sincronização e conte o número total de vezes que OnApplyingChange é chamado.
Registre-se para receber o retorno de chamada IFileSyncProviderCallback::OnChangeApplied.
Desabilite o modo de visualização no provedor passando FALSE para o método IFileSyncProvider::SetPreviewMode.
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