What if a desktop object is changed again shortly after it is synchronized?
When an object is sent to the Windows CE-based device, the ActiveSync manager waits for acknowledgement from the Windows CE-based device that this object has been successfully synchronized before it clears the mark indicating that the desktop object is changed. If the Windows CE-based device has problems writing the object, synching can be attempted again in the next synchronization cycle. If an object changes again before acknowledgement arrives, the ActiveSync manager should keep the object “dirty.” This is implemented in IReplStore::IsItemChanged. The last parameter passed will be NULL in this case, and ActiveSync provider should open the current object and compare the time stamp. If the current object has been changed again, the provider should return TRUE.