For Windows CE Services to recognize a service provider, you must create valid registry entries in the registry on both the Windows-based desktop computer and on the Windows CE–based device. You also must register the object types.
Note The CEUTIL utility DLL functions are especially helpful when adding desktop registry entries for Windows CE. For more information, see "Installing and Managing Applications."
The ProgID must be a unique name.
HKEY_CLASSES_ROOT\CLSID\Class ID\InProcServer32
HKEY_CLASSES_ROOT\CLSID\Class ID\ProgID
HKEY_CLASSES_ROOT\ProgID\CLSID
The default value of the InProcServer32 key is the full path of the 32-bit DLL that implements the IReplStore interface (for example, for Microsoft Outlook the path is Outstore.dll); the default value of the ProgID key is MS.WinCE.Outlook; and the default value of the CLSID key is the GUID for the store.
After registering the service provider, you must register each object type that the service provider synchronizes. Register the object types in a subdirectory under HKEY_LOCAL_MACHINE. The following screen shot illustrates the desktop registry location for the appointment, contact, and task object types.
Each object type name is a key. Under each key, you must define the following five values:
A description of the object type; for example, Outlook Appointment Object.
The name of the object that you want to display; for example, Appointment.
The plural name of the object; for example, Appointments.
The OLE programmatic identifier, ProgID, of the store that implements the IReplStore and IReplObjHandler interfaces; for example, MS.WinCE.Outlook.
A value indicating whether the service provider is displayed as disabled or enabled in Windows CE Services. A nonzero value indicates that the service provider is disabled.
The following screen shot illustrates the values defined under the Appointment object type.
Whenever a user connects a new device to the desktop and a new device profile is added to Mobile Device folder, the registry keys for the synchronization objects under HKEY_LOCAL_MACHINE are automatically copied to HKEY_CURRENT_USER.
On the device, each object type name is a key, but you only define two values: Store and Display Name. Store refers to the module that exports the functions for this object type, and Display Name refers to the name of the object type.
The following registry data shows the device registration for the Appointment object type that was explained above.
Store "pegobj.dll"
Display Name "Appointment"