Utilisation du Gestionnaire de synchronisation à partir d’un programme

Pour permettre à votre application de fonctionner avec le Gestionnaire de synchronisation, vous devez implémenter un objet COM (Component Object Model) pour gérer les notifications de synchronisation que vous recevez de SyncMgr. Le gestionnaire de votre application effectue la synchronisation des éléments que vous gérez. Inclus dans votre gestionnaire, vous devez implémenter l’interface ISyncMgrSynchronize . En outre, vous devez fournir un objet énumérateur et ISyncMgrEnumItems pour tous les éléments distincts que votre application peut synchroniser.

SyncMgr implémente ISyncMgrSynchronizeCallback et ISyncMgrSynchronizeInvoke.

SyncMgr appelle des méthodes dans votre ISyncMgrSynchronize pour obtenir des informations sur les éléments gérés par votre application et des informations sur le gestionnaire que vous fournissez pour la synchronisation de ces éléments.

Au moment de l’exécution, le processus de synchronisation suit ces étapes.

  1. SyncMgr informe votre application qu’il est temps de synchroniser l’un des éléments gérés par votre application en appelant votre méthode ISyncMgrSynchronize::Initialize .
  2. SyncMgr appelle ISyncMgrSynchronize::EnumSyncMgrItems pour obtenir l’interface ISyncMgrEnumItems pour les éléments gérés par votre application.
  3. SyncMgr appelle ISyncMgrSynchronize::SetProgressCallback pour fournir à votre gestionnaire le pointeur d’interface pour l’interface ISyncMgrSynchronizeCallback . Votre gestionnaire utilise cette interface pour rappeler le SyncMgr pendant la synchronisation.
  4. SyncMgr appelle ensuite votre méthode ISyncMgrSynchronize::P repareForSync pour permettre à votre gestionnaire d’afficher tout élément d’interface utilisateur nécessaire avant le début de la synchronisation. Par exemple, une application de messagerie peut afficher une boîte de dialogue d’ouverture de session utilisateur.
  5. Votre gestionnaire appelle ISyncMgrSynchronizeCallback::EnableModeless avant et après l’affichage des éléments de l’interface utilisateur. Lorsque vous avez terminé, votre gestionnaire appelle ISyncMgrSynchronizeCallback::P repareForSyncCompleted .
  6. SyncMgr appelle votre méthode ISyncMgrSynchronize::Synchronize pour démarrer la synchronisation.

Pendant le processus de synchronisation, SyncMgr continue d’appeler des méthodes dans votre interface ISyncMgrSynchronize . Il peut envoyer vos erreurs de gestionnaire, la progression et les notifications. Il peut également énumérer les éléments que votre application gère ou autoriser votre application à afficher les propriétés des éléments.

Votre gestionnaire appelle des méthodes dans ISyncMgrSynchronizeCallback pour déterminer si un élément doit être ignoré, pour journaliser les erreurs et publier des informations de progression pendant le processus de synchronisation.

Pour plus d’informations, consultez les pages de référence associées pour les interfaces impliquées.

Une fois la synchronisation terminée, votre gestionnaire appelle ISyncMgrSynchronizeCallback::SynchronizeCompleted.