Condividi tramite


Sviluppo di un gestore di Windows Sync Center

In questo argomento viene fornito un esame dettagliato dei requisiti per compilare un file DLL che implementa un gestore da usare con Il Centro sincronizzazione. Queste informazioni sono valide a partire da Windows Vista.

Esperienza di sincronizzazione di Windows prima di Vista

Windows XP ha fornito una gestione sincronizzazione (mobsync.exe). Molti dispositivi come i lettori mp3, i telefoni cellulari e le fotocamere hanno anche fornito le proprie interfacce di sincronizzazione anziché usare Gestione sincronizzazione. Ciò ha comportato un'esperienza utente incoerente e noncentralizzata.

La nuova funzionalità di Sync Center fornita in Windows Vista offre diversi vantaggi rispetto a Gestione sincronizzazione precedente.

  • Individuazione migliore
  • Minore necessità di un'azione diretta per l'utente
  • Non blocca altre operazioni
  • Visualizzazione migliore dello stato di avanzamento della sincronizzazione
  • Più facile comprendere il modello di sviluppo

API centro sincronizzazione

Sync Center comunica con gestori tramite diverse interfacce COM (Component Object Model). Non tutte queste interfacce sono necessarie per implementare un gestore del Centro sincronizzazione. Questo argomento è stato suddiviso in due sezioni. La prima sezione illustra le interfacce COM essenziali che ogni gestore deve supportare e la seconda sezione esamina le interfacce COM facoltative e esamina i motivi per cui un gestore li supporta.

Interfacce essenziali

Tutti i gestori di Sync Center devono supportare le interfacce seguenti:

ISyncMgrSyncItem e ISyncMgrSyncItemInfo vengono usati per descrivere un singolo elemento di sincronizzazione coinvolto nella sincronizzazione nel Centro sincronizzazione. Un elemento di sincronizzazione rappresenta in genere un tipo di dati specifico ,ad esempio immagini, o una posizione specifica di dati.

Gli elementi di sincronizzazione che rappresentano posizioni dati diverse consentono sincronizzazioni molto specifiche. La granularità della posizione è fino all'autore del gestore, ma è necessario prestare attenzione alla progettazione. Se sono presenti troppi elementi di sincronizzazione (posizioni), l'utente è limitato alla possibilità di sincronizzare solo determinati dati. All'altro estremo, troppo granularità può diventare non gestibile.

Se un gestore supporta più tipi di dati o più percorsi dati, è necessario supportare più di un oggetto elemento di sincronizzazione. Un esempio può essere un assistente dati personale (PDA) che consente all'utente di sincronizzare contatti, elementi del calendario e documenti. Questi tre tipi di dati devono essere rappresentati da tre oggetti univoci che espongono le interfacce ISyncMgrSyncItem e ISyncMgrSyncItemInfo .

L'interfaccia IEnumSyncMgrSyncItems fornisce un meccanismo per enumerare gli elementi di sincronizzazione di un gestore. Per recuperare questo enumeratore, Sync Center chiama il metodo ISyncMgrSyncItemContainer::GetSyncItemEnumerator esposto dal gestore. ISyncMgrSyncItemContainer contiene anche due altri metodi che il Centro sincronizzazione può usare per recuperare informazioni sugli elementi di sincronizzazione del gestore:

  • GetSyncItem restituisce un elemento di sincronizzazione specifico.
  • GetSyncItemCount restituisce il numero di elementi di sincronizzazione supportati dal gestore.

ISyncMgrHandler e ISyncMgrHandlerInfo vengono usati per descrivere le proprietà dell'hander e avviare la sincronizzazione effettiva. ISyncMgrHandler::Sync è la posizione in cui il codice del gestore esegue la sincronizzazione e fornisce commenti e suggerimenti sullo stato di avanzamento e su eventuali problemi che si verificano.

Molti dei metodi di interfaccia non devono essere completamente implementati. Il Centro sincronizzazione fornisce una determinata quantità di informazioni predefinite. Le interfacce consentono a un gestore di eseguire l'override di queste informazioni e fornire informazioni personalizzate da visualizzare, se necessario.