Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema enthält eine schrittweise Untersuchung der Anforderungen zum Erstellen einer DLL-Datei, die einen Handler implementiert, der mit dem Synchronisierungscenter verwendet werden soll. Diese Informationen gelten ab Windows Vista.
Die Windows-Synchronisierungserfahrung vor Vista
Windows XP hat einen Synchronisierungs-Manager (mobsync.exe) bereitgestellt. Viele Geräte wie MP3-Player, Mobiltelefone und Kameras stellten auch eigene Synchronisierungsschnittstellen bereit, anstatt den Synchronisierungs-Manager zu verwenden. Dies führte zu einer inkonsistenten und nicht zentralisierten Benutzererfahrung.
Das neue Sync Center-Feature in Windows Vista bietet mehrere Vorteile gegenüber dem älteren Synchronisierungs-Manager.
- Bessere Auffindbarkeit
- Weniger Notwendigkeit für direkte Benutzeraktionen
- Blockiert keine anderen Vorgänge.
- Bessere Visualisierung des Synchronisierungsfortschritts
- Einfacheres Verständnis des Entwicklungsmodells
Synchronisierungscenter-APIs
Das Synchronisierungscenter kommuniziert mit Handlern über eine Reihe von COM-Schnittstellen (Component Object Model). Nicht alle diese Schnittstellen sind erforderlich, um einen Synchronisierungscenterhandler zu implementieren. Dieses Thema wurde in zwei Abschnitte unterteilt. Im ersten Abschnitt werden die wesentlichen COM-Schnittstellen erläutert, die jeder Handler unterstützen muss, und im zweiten Abschnitt werden die optionalen COM-Schnittstellen untersucht und die Gründe für die Unterstützung durch einen Handler untersucht.
Grundlegende Schnittstellen
Alle Synchronisierungscenterhandler müssen die folgenden Schnittstellen unterstützen:
- ISyncMgrHandler
- ISyncMgrHandlerInfo
- ISyncMgrSyncItemContainer
- IEnumSyncMgrSyncItems
- ISyncMgrSyncItem
- ISyncMgrSyncItemInfo
ISyncMgrSyncItem und ISyncMgrSyncItemInfo werden verwendet, um ein einzelnes Synchronisierungselement zu beschreiben, das an der Synchronisierung mit dem Synchronisierungscenter beteiligt ist. Ein Synchronisierungselement stellt im Allgemeinen entweder einen bestimmten Datentyp (z. B. Bilder) oder einen bestimmten Speicherort von Daten dar.
Synchronisierungselemente, die verschiedene Speicherorte darstellen, ermöglichen sehr spezifische Synchronisierungen. Die Granularität des Speicherorts hängt vom Autor des Handlers ab, aber beim Entwurf ist Vorsicht zu beachten. Wenn zu wenig Synchronisierungselemente (Speicherorte) vorhanden sind, kann der Benutzer nur bestimmte Daten synchronisieren. Im anderen Extrem kann zu viel Granularität unüberschaubar werden.
Wenn ein Handler mehrere Datentypen oder mehrere Speicherorte unterstützt, muss er mehrere Synchronisierungselementobjekte unterstützen. Ein Beispiel wäre ein Persönlicher Daten-Assistent (PDA), der es dem Benutzer ermöglicht, Kontakte, Kalenderelemente und Dokumente zu synchronisieren. Diese drei Datentypen müssten durch drei eindeutige Objekte dargestellt werden, die jeweils die Schnittstellen ISyncMgrSyncItem und ISyncMgrSyncItemInfo verfügbar machen.
Die IEnumSyncMgrSyncItems-Schnittstelle bietet einen Mechanismus zum Auflisten der Synchronisierungselemente eines Handlers. Um diesen Enumerator abzurufen, ruft das Synchronisierungscenter die ISyncMgrSyncItemContainer::GetSyncItemEnumerator-Methode auf, die vom Handler verfügbar gemacht wird. ISyncMgrSyncItemContainer enthält auch zwei weitere Methoden, mit denen das Synchronisierungscenter Informationen zu den Synchronisierungselementen des Handlers abrufen kann:
- GetSyncItem gibt ein bestimmtes Synchronisierungselement zurück.
- GetSyncItemCount gibt die Anzahl der Synchronisierungselemente zurück, die vom Handler unterstützt werden.
ISyncMgrHandler und ISyncMgrHandlerInfo werden verwendet, um die Eigenschaften des Handers zu beschreiben und die eigentliche Synchronisierung zu starten. ISyncMgrHandler::Synchronize ist der Ort, an dem der Handlercode die Synchronisierung durchführt und Feedback zum Fortschritt und zu auftretenden Problemen bereitstellt.
Viele der Schnittstellenmethoden müssen nicht vollständig implementiert werden. Das Synchronisierungscenter stellt eine bestimmte Anzahl von Standardinformationen bereit. Die Schnittstellen ermöglichen es einem Handler, diese Informationen zu überschreiben und bei Bedarf benutzerdefinierte Informationen bereitzustellen, die angezeigt werden sollen.