2.2.3.2.1.1.1 RopSynchronizationConfigure ROP Request Buffer

The following descriptions define valid fields for the request buffer of the RopSynchronizationConfigure ROP ([MS-OXCROPS] section 2.2.13.1).

InputServerObject: The value of this field MUST be a Folder object that contributes to the synchronization scope.

SynchronizationType (1 byte): An 8-bit enumeration that defines the type of synchronization requested: contents or hierarchy. This field contributes to the synchronization scope.

The following table defines valid values for the SynchronizationType field.

Value

Bit

Description

Contents

0x01

Indicates a content synchronization operation.

Hierarchy

0x02

Indicates a hierarchy synchronization operation.

SendOptions (1 byte): An 8-bit enumeration that identifies options for sending the data. For details about the possible values for this enumeration, see section 2.2.3.1.1.1.1.

SynchronizationFlags (2 bytes): A 16-bit flag structure that defines the parameters of the synchronization operation.

The following table defines valid flags for the SynchronizationFlags field.

Flag name

Value

Description

Unicode

0x0001

Indicates whether the client supports Unicode. For more details, see section 3.2.5.9.1.1.

This flag MUST match the value of the Unicode flag from the SendOptions field.

NoDeletions

0x0002

Indicates how the server downloads information about item deletions. For more details, see section 3.2.5.9.1.1.

The client MAY implement this flag.

IgnoreNoLongerInScope

0x0004

Indicates whether the server downloads information about messages that went out of scope. For more details, see section 3.2.5.9.1.1.

This flag MUST only be set for a content synchronization download operation.

The client MAY implement this flag.

ReadState

0x0008

Indicates whether the server downloads information about changes to the read state of messages. For more details, see section 3.2.5.9.1.1.

This flag MUST only be set for a content synchronization download operation.

FAI

0x0010

Indicates whether the server downloads information about changes to FAI messages. For more details, see section 3.2.5.9.1.1.

This flag MUST only be set for a content synchronization download operation.

Normal

0x0020

Indicates whether the server downloads information about changes to normal messages. For more details, see section 3.2.5.9.1.1.

This flag MUST only be passed for a content synchronization download operation.

OnlySpecifiedProperties

0x0080

Indicates whether the server limits or excludes properties and subobjects output to the properties listed in PropertyTags. For more details, see section 3.2.5.9.1.1.

This flag MUST only be passed for a content synchronization download operation.

NoForeignIdentifiers

0x0100

Identifies whether the server ignores any persisted values for the PidTagSourceKey property (section 2.2.1.2.5) and PidTagParentSourceKey property (section 2.2.1.2.6) when producing output for folder and message changes. For more details, see section 3.2.5.9.1.1.

Clients SHOULD set this flag. For more details about possible issues if this flag is not set, see section 3.3.5.2.3.

Reserved

0x1000

This flag MUST be set to 0 when sending.

BestBody

0x2000

Identifies whether the server outputs message bodies in their original format or in RTF.<16> For more details, see section 3.2.5.9.1.1.

This flag MUST only be passed a content synchronization download operation.

IgnoreSpecifiedOnFAI

0x4000

Indicates whether the server outputs properties and subobjects of FAI messages. For more details, see section 3.2.5.9.1.1.

This flag MUST only be passed for a content synchronization download operation.

Progress

0x8000

Indicates whether the server injects progress information into the output FastTransfer stream. For more details, see section 3.2.5.9.1.1.

This flag MUST only be passed for a content synchronization download operation.

This flag is in addition to the means of progress reporting available through the RopFastTransferSourceGetBuffer ROP results.

RestrictionDataSize (2 bytes): An unsigned 16-bit integer that specifies the length of the RestrictionData field. This value MUST be set to 0x0000 if the SynchronizationType field is set to Hierarchy ("0x02").

RestrictionData (variable): The variable-length restriction structure that is used to limit the data to be synchronized. This value contributes to the synchronization scope. This field is used in content synchronization operations only. This field is not applicable if the value of the SynchronizationType field is set to Hierarchy (0x02) as the RestrictionDataSize field MUST be set to 0x0000. For more details about restrictions, see [MS-OXCDATA] section 2.12.

SynchronizationExtraFlags (4 bytes): A 32-bit flag structure that defines additional parameters of the synchronization operation.

The following table defines valid bit flags for the SynchronizationExtraFlags field.

Flag name

Value

Description

Eid

0x00000001

Indicates whether the server includes the PidTagFolderId (section 2.2.1.2.2) or PidTagMid (section 2.2.1.2.1) properties in the folder change or message change header. For more details, see section 3.2.5.9.1.1.

MessageSize

0x00000002

Indicates whether the server includes the PidTagMessageSize property (section 2.2.1.6) in the message change header. For more details, see section 3.2.5.9.1.1.

This flag MUST only be set for a content synchronization download operation.

CN

0x00000004

Indicates whether the server includes the PidTagChangeNumber property (section 2.2.1.2.3) in the message change header. For more details, see section 3.2.5.9.1.1.

This flag MUST only be set for a content synchronization download operation.

OrderByDeliveryTime

0x00000008

Indicates whether the server sorts messages by their delivery time. For more details, see section 3.2.5.9.1.1.

This flag MUST only be set for a content synchronization download operation.

PropertyTagCount (2 bytes): An unsigned 16-bit integer that specifies the number of PropertyTag structures in the value of the PropertyTags field. The value of the PropertyTagCount field is set to 0x0000 if the value of the PropertyTags field is an empty array.

PropertyTags (variable): An array of PropertyTag structures that contains property tags for regular properties and properties that denote message subobjects, as specified in section 2.2.1.7, to exclude or include in the synchronization scope. The behavior of this field is dependent on the OnlySpecifiedProperties flag of the SynchronizationFlags field.

For more details about this field, see section 3.2.5.9.1.1.