Utilizzo di gestione sincronizzazione da un programma

Per consentire all'applicazione di utilizzare Gestione sincronizzazione, è necessario implementare un oggetto Component Object Model (COM) per gestire le notifiche di sincronizzazione ricevute da SyncMgr. Il gestore dell'applicazione esegue la sincronizzazione per gli elementi gestiti. Incluso nel gestore, è necessario implementare l'interfaccia ISyncMgrSynchronize . Inoltre, è necessario fornire un oggetto enumeratore e ISyncMgrEnumItems per eventuali elementi distinti che l'applicazione può sincronizzare.

SyncMgr implementa ISyncMgrSynchronizeCallback e ISyncMgrSynchronizeInvoke.

SyncMgr chiama i metodi in ISyncMgrSynchronize per ottenere informazioni sugli elementi gestiti dall'applicazione e informazioni sul gestore fornito per la sincronizzazione di questi elementi.

In fase di esecuzione, il processo di sincronizzazione segue questa procedura.

  1. SyncMgr notifica all'applicazione che è il momento di eseguire la sincronizzazione per uno degli elementi gestiti dall'applicazione chiamando il metodo ISyncMgrSynchronize:: Initialize .
  2. SyncMgr chiama ISyncMgrSynchronize:: EnumSyncMgrItems per ottenere l'interfaccia ISyncMgrEnumItems per gli elementi gestiti dall'applicazione.
  3. SyncMgr chiama ISyncMgrSynchronize:: SetProgressCallback per fornire al gestore il puntatore di interfaccia per l'interfaccia ISyncMgrSynchronizeCallback . Il gestore usa questa interfaccia per richiamare SyncMgr durante la sincronizzazione.
  4. SyncMgr chiama quindi il metodo ISyncMgrSynchronize::P repareforsync per fornire al gestore la possibilità di visualizzare qualsiasi elemento dell'interfaccia utente necessario prima che inizi la sincronizzazione. Ad esempio, un'applicazione di posta elettronica può visualizzare una finestra di dialogo di accesso utente.
  5. Il gestore chiama ISyncMgrSynchronizeCallback:: EnableModeless prima e dopo la visualizzazione di tutti gli elementi dell'interfaccia utente. Il gestore chiama ISyncMgrSynchronizeCallback::P repareforsynccompleted al termine dell'operazione.
  6. SyncMgr chiama il metodo ISyncMgrSynchronize:: Synchronize per avviare la sincronizzazione.

Durante il processo di sincronizzazione, SyncMgr continua a chiamare i metodi nell'interfaccia ISyncMgrSynchronize . Può inviare gli errori del gestore, lo stato di avanzamento e le notifiche. Può inoltre enumerare gli elementi gestiti dall'applicazione o consentire all'applicazione di visualizzare le proprietà degli elementi.

Il gestore chiama i metodi in ISyncMgrSynchronizeCallback per determinare se un elemento deve essere ignorato, per registrare gli errori e per inviare informazioni sullo stato di avanzamento durante il processo di sincronizzazione.

Per ulteriori informazioni, vedere le pagine di riferimento correlate per le interfacce necessarie.

Al termine della sincronizzazione, il gestore chiama ISyncMgrSynchronizeCallback:: SynchronizeCompleted.