Usando o Gerenciador de sincronização de um programa

Para permitir que seu aplicativo funcione com o Gerenciador de sincronização, você deve implementar um objeto de Component Object Model (COM) para lidar com as notificações de sincronização recebidas do SyncMgr. O manipulador de seu aplicativo executa a sincronização para os itens que você manipula. Incluído em seu manipulador, você deve implementar a interface ISyncMgrSynchronize . Além disso, você deve fornecer um objeto de enumerador e ISyncMgrEnumItems para quaisquer itens separados que seu aplicativo possa sincronizar.

SyncMgr implementa ISyncMgrSynchronizeCallback e ISyncMgrSynchronizeInvoke.

O SyncMgr chama métodos em seu ISyncMgrSynchronize para obter informações sobre os itens que seu aplicativo manipula e informações sobre o manipulador que você fornece para sincronizar esses itens.

Em tempo de execução, o processo de sincronização segue estas etapas.

  1. O SyncMgr notifica seu aplicativo de que é hora de que a sincronização ocorra para um dos itens que seu aplicativo manipula chamando o método ISyncMgrSynchronize:: Initialize .
  2. SyncMgr chama ISyncMgrSynchronize:: EnumSyncMgrItems para obter a interface ISyncMgrEnumItems para os itens manipulados pelo seu aplicativo.
  3. SyncMgr chama ISyncMgrSynchronize:: SetProgressCallback para fornecer seu manipulador com o ponteiro de interface para a interface ISyncMgrSynchronizeCallback . Seu manipulador usa essa interface para chamar de volta para o SyncMgr durante a sincronização.
  4. Em seguida, SyncMgr chama o método ISyncMgrSynchronize::P repareforsync para dar ao seu manipulador uma oportunidade de exibir qualquer elemento de interface do usuário necessário antes do início da sincronização. Por exemplo, um aplicativo de email pode exibir uma caixa de diálogo de logon do usuário.
  5. Seu manipulador chama ISyncMgrSynchronizeCallback:: EnableModeless antes e depois de exibir qualquer elemento da interface do usuário. Seu manipulador chama ISyncMgrSynchronizeCallback::P repareforsynccompleted quando você terminar.
  6. SyncMgr chama o método ISyncMgrSynchronize:: Synchronize para iniciar a sincronização.

Durante o processo de sincronização, o SyncMgr continua a chamar métodos na sua interface ISyncMgrSynchronize . Ele pode enviar os erros, o progresso e as notificações do manipulador. Ele também pode enumerar por meio dos itens que seu aplicativo manipula ou permite que seu aplicativo mostre as propriedades dos itens.

Seu manipulador chama métodos em ISyncMgrSynchronizeCallback para determinar se um item deve ser ignorado, registrar em log erros e postar informações de progresso durante o processo de sincronização.

Para obter mais informações, consulte as páginas de referência relacionadas para as interfaces envolvidas.

Quando a sincronização for concluída, seu manipulador chamará ISyncMgrSynchronizeCallback:: SynchronizeCompleted.