2.2.3.1.1.1.1 RopFastTransferSourceCopyTo ROP Request Buffer
The following descriptions define valid fields for the request buffer of the RopFastTransferSourceCopyTo ROP ([MS-OXCROPS] section 2.2.12.7).
InputServerObject: The value of this field MUST be either an Attachment object, Message object, or Folder object.
Level (1 byte): An unsigned 8-bit integer that indicates whether descendant subobjects are copied. Set to 0x00 to copy descendant subobjects. Set to nonzero to exclude all descendant subobjects from being copied. A nonzero value can only be passed if the InputServerObject field is a Message object or Folder object. The Level field MUST be ignored and treated as if it is set to 0x00 if the InputServerObject field is an Attachment object.
CopyFlags (4 byte): A 32-bit flags structure. This structure defines the parameters of the FastTransfer download operation.
The following table defines valid flags for the CopyFlags field.
Flag name |
Value |
Description |
---|---|---|
Move |
0x00000001 |
This flag MUST only be passed if the value of the InputServerObject field is a Folder object or a Message object. If this flag is set, the FastTransfer operation is being configured as a logical part of a larger object move operation, as opposed to a copy operation, and the client will issue further operations such as deleting the moved messages from the source. If this flag is not set, the FastTransfer operation is not being configured as a logical part of a larger object move operation. For more details, see section 3.2.5.8.1.1. |
Unused1 |
0x00000002 |
This flag MUST be ignored on receipt. |
Unused2 |
0x00000004 |
This flag MUST be ignored on receipt. |
Unused3 |
0x00000008 |
This flag MUST be ignored on receipt. |
Unused4 |
0x00000200 |
This flag MUST be ignored on receipt. |
Unused5 |
0x00000400 |
This flag MUST be ignored on receipt. |
BestBody |
0x00002000 |
This flag MUST only be passed if the value of the InputServerObject field is a Message object. For more details, see section 3.2.5.8.1.1. Best body logic is specified in [MS-OXBBODY].<3> |
SendOptions (1 byte): An 8-bit flag structure. This field defines the data representation parameters of the download operation.
The following table defines valid flags for the SendOptions field.
Flag name |
Value |
Description |
---|---|---|
Unicode |
0x01 |
This flag indicates whether string properties are output in Unicode or in the code page set on the current connection. For details about the Unicode and ForceUnicode flags, and relationship between the two, see section 3.2.5.8.1.1. When used with the RopSynchronizationConfigure ROP (section 2.2.3.2.1.1.1), the value of this flag MUST match the value of the Unicode flag of the SynchronizationFlags field, as specified in section 2.2.3.2.1.1.1. |
UseCpid |
0x02 |
This flag indicates support for code page property types, as specified in section 2.2.4.1.1.1. This flag MUST be set for server-to-client-to-server uploads only. For more details about server-to-client-to-server uploads, see section 3.3.4.2.1. If this flag is set, the Unicode flag MUST also be set. |
ForUpload |
0x03 |
This flag is the combination of the Unicode and UseCpid flags. This flag indicates that the client is requesting the FastTransfer stream for immediate upload to another destination server. This flag MUST be set for server-to-client-to-server uploads only. For more details about server-to-client-to-server uploads, see section 3.3.4.2.1.
The ROP that uses this flag MUST be followed by the RopTellVersion ROP. For details about how this affects behaviors of servers and clients, see section 3.3.4.2.1. |
RecoverMode |
0x04 |
If this flag is set, it indicates that the client supports recovery mode. For more details about server behavior when this flag is set, see section 3.2.5.8.1.1. If this flag is not set, it indicates that the client does not support recovery mode. This flag MUST NOT be set when the ForUpload flag is set. |
ForceUnicode |
0x08 |
This flag indicates whether string properties are output in Unicode. For details about the Unicode and ForceUnicode flags, and relationship between the two, see section 3.2.5.8.1.1. |
PartialItem |
0x10 |
This flag MUST only be set for content synchronization download operations. This flag SHOULD<4> be set if the client supports partial item downloads. |
Reserved1 |
0x20 |
This flag MUST be set to 0 when sent and MUST be ignored when received. |
Reserved2 |
0x40 |
This flag MUST be set to 0 when sent and MUST be ignored when received. |
PropertyTagCount (2 bytes): An unsigned 16-bit integer. This value specifies the number of structures in the PropertyTags field. If the value of the PropertyTagCount field is set to 0x0000, the PropertyTags field contains an empty array.
PropertyTags (variable): An array of PropertyTag structures ([MS-OXCDATA] section 2.9). Specifies properties and subobjects, as specified in section 2.2.1.7, to be excluded when copying a messaging object pointed to by the InputServerObject field. This field does not determine what properties and subobjects the server copies for descendant subobjects of the InputServerObject field. For more details about the effect of property and subobject filters on download operations, see section 3.2.5.10.
Remarks:
If, for example, the InputServerObject field contains a folder that was opened to show soft deleted messages (such as the Deleted Items folder), the scope of an operation that this ROP initiates only includes soft deleted messages. Otherwise, only normal, nondeleted messages are included. This applies to all valid values of the Level field.