Uso di Synchronization Manager da un programma

Per consentire all'applicazione di lavorare con Synchronization Manager, è necessario implementare un oggetto COM (Component Object Model) 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 tutti gli elementi separati 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 sulle informazioni sul gestore fornito per la sincronizzazione di questi elementi.

In fase di esecuzione, il processo di sincronizzazione segue questi passaggi.

  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 consentire al gestore di visualizzare qualsiasi elemento dell'interfaccia utente necessario prima dell'inizio della 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.
  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, lo stato di avanzamento e le notifiche del gestore. Può anche enumerare gli elementi gestiti dall'applicazione o consentire all'applicazione di visualizzare le proprietà per gli elementi.

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

Per altre informazioni, vedere le pagine di riferimento correlate per le interfacce coinvolte.

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