2.2.4.3.15 messageChangePartial Element

The messageChangePartial element represents the difference in message content since the last download, as identified by the initial ICS state. Servers SHOULD<23> support partial item downloads. Changes to a message are output based on the granularity of the property group, as specified in section 3.2.5.7. The value of the last encountered MetaTagIncrSyncGroupId meta-property (section 2.2.4.1.5.4) in the stream determines which property group mapping MUST be used to make partial updates to the messaging object. The MetaTagIncrSyncGroupId meta-property identifies the groupInfo element in the messageChangePartial element that organizes properties into property groups for the messaging object in context.

The groupInfo element, as specified in section 2.2.4.3.8, when included in the messageChangePartial element is not required to be the property group definition of the message that follows or the definition indicated by the MetaTagIncrSyncGroupId meta-property.

Clients MUST treat every contained propList element, as specified in section 2.2.4.3.20, as the complete content of a property group denoted by the MetaTagIncrementalSyncMessagePartial meta-property (section 2.2.4.1.5.5) that preceded it. That is, all properties missing from the propList element, but defined for this group in the corresponding property group mapping, MUST be deleted from the Message object. For example, if the value for the preceding MetaTagIncrementalSyncMessagePartial meta-property is 5, the propList element for the messageChangePartial element contains all the values of for the properties in group 5. Any properties in group 5 that are not in the propList of the messageChangePartial element are deleted from the Message object.

The following table lists the restrictions that exist on the contained propList elements.

Property type name

Restrictions

Comments

[PtypInteger32] ([MS-OXCDATA] section 2.11.1) 0x00000003

Conditional

MUST be present if and only if a property group is empty, but was still marked as changed since the last download.

MUST be 0. MUST be ignored by clients.

[PtypInteger32]

0xFFFFFFFF

Conditional

MUST be present if the properties in the properties that follow don’t exist in any specific property group in the property group mapping.

< other properties >

No restrictions

None.