Condividi tramite


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. All'interno del 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 nel 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 all'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::PrepareForSyncCompleted 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 errori, avanzamenti e notifiche al tuo gestore. Può anche 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, registrare gli errori e registrare 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.