Creating an ActiveSync Service Provider

The synchronization process transfers only data that has changed. For this reason, the service provider must track data changes as efficiently as possible to ensure that the least amount of data is transferred during synchronization.

To create an efficient ActiveSync service provider for an application, you first must analyze the data to be synchronized by defining the object, the object type, and the object identifier, as well as the folder and the store to hold the objects. You also must decide on a method to compare objects and a method to indicate that an object has changed. As you do this, keep in mind the following terminology and requirements, which are specific to the synchronization process:

Once you have analyzed the data, you are ready to create a service provider by developing the desktop provider module and the device provider module:

COM interface
Description
IReplStore Enumerates objects in a store, checks for changes in an object, and displays a UI so that the user can set synchronization options and resolve conflicts.
IReplObjHandler Serializes data and deletes objects.

Function
Description
InitObjType Initializes data and returns a pointer to the IReplObjHandler interface when the device provider module loads and, when the device provider module terminates, frees allocated resources.
ObjectNotify Calls the service manager when an object in the object store for a device is changed or deleted.
GetObjNotify Returns the type of the specified object.
ReportStatus Optional; gets status for synchronization objects.