RemSync


From SynCE-Wiki

Contents

Overview

RemSync, or Remote Sync is a protocol used for status notifications. The deviceconnects to the host on port 999, and the host sends notification messages in the various stages of the synchronization process.


Message Format

Name Size Description
Argument 2 Argument, meaning depending on the NotificationType field
NotificationType 2 Type of notification
Payload 0..n 0 or more bytes of payload


Notification Types

SetStatus (0x01)

ActiveSync showing an arbitrary message on a Windows Mobile 2005 device (HTC Wizard).
ActiveSync showing an arbitrary message on a Windows Mobile 2005 device (HTC Wizard).

Set the "current operation" label to something meaningful. For example "Notes 2/6" when synchronizing notes. This will also show the progressbar if it isn't already shown.

If the device receives $UPTODATE$ as the message, it will load string resource #2029, "Connected, up-to-date\0x00", from syncres.dll, possibly display it somewhere in the UI, and hide the progress bar.


Name Size Description
MessageSize 2 Size of zero-terminated unicode string following the next field
NotificationType 2 SetStatus (0x01)
MessageBytes 2..n A zero-terminated unicode LE16 string with the size as specified by MessageSize (which includes the terminating NUL byte)


Examples:

0000: 02 00 01 00 00 00                                ......
0000: 16 00 01 00 24 00 55 00 50 00 54 00 4f 00 44 00  ....$.U.P.T.O.D.
0010: 41 00 54 00 45 00 24 00 00 00                    A.T.E.$...



Unknown_04 (0x04)


Unknown_0a (0x0a)


StartOfSync (0x5a)

Sent at the very end of the AirSync stage when starting on the RRA synchronization stage, resulting in a UI update (for instance showing the progressbar). Should be followed by SetProgressRange.


Name Size Description
Argument 2 Set to 0
NotificationType 2 StartOfSync (0x5a)


Example:

0000: 00 00 5a 00                                      ..Z.


EndOfSync (0x5b)

Sent at the end of the RRA synchronization stage, resulting in a UI update (for instance hiding the progressbar). Should be followed by SetLabelText with "$UPTODATE$".


Name Size Description
Argument 2 Set to 0
NotificationType 2 EndOfSync (0x5b)


Example:

0000: 00 00 5b 00                                      ..[.


SetProgressRange (0x5c)

Sets the progressbar range. ActiveSync sets this to [1, 1000].


Name Size Description
Argument 2 Set to 0
NotificationType 2 SetProgressRange (0x5c)
ProgressMin 2 Progressbar min value
ProgressMax 2 Progressbar max value


Example:

0000: 00 00 5c 00 01 00 e8 03                          ..\.....


SetProgressValue (0x5d)

Sets the progressbar's progress value.


Name Size Description
NewValue 2 Set to the new progress value, within ProgressMin and ProgressMax as specified with SetProgressRange
NotificationType 2 SetProgressRange (0x5c)


Example:

0000: a6 00 5d 00                                      ..].