6 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Microsoft Exchange Server 2003

  • Microsoft Exchange Server 2007

  • Microsoft Exchange Server 2010

  • Microsoft Exchange Server 2013

  • Microsoft Exchange Server 2016

  • Microsoft Exchange Server 2019

  • Microsoft Office Outlook 2003

  • Microsoft Office Outlook 2007

  • Microsoft Outlook 2010

  • Microsoft Outlook 2013

  • Microsoft Outlook 2016

  • Microsoft Outlook 2019

  • Microsoft Outlook 2021

  • Microsoft Outlook 2024 Preview

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.2.1.3.3: The MetaTagIdsetExpired property is not supported in Exchange 2013, Exchange 2016, and Exchange 2019.

<2> Section 2.2.3: In Exchange 2003 and Exchange 2007, the RopSynchronizationGetTransferState ([MS-OXCROPS] section 2.2.13.8) and the RopFastTransferSourceGetBuffer ([MS-OXCROPS] section 2.2.12.4) ROPs are used to checkpoint ICS download operations. In Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019, trying to retrieve a checkpoint ICS state during the download returns the initial state, and not a state with differences applied.

<3> Section 2.2.3.1.1.1.1:  The BestBody flag is not supported in Exchange 2013, Exchange 2016, and Exchange 2019. In Exchange 2013, Exchange 2016, and Exchange 2019, the message body is in the original format.

<4> Section 2.2.3.1.1.1.1: Exchange 2003 and Office Outlook 2003 do not support partial item downloads. Exchange 2003 does not support the PartialItem bit flag of the SendOptions field and Office Outlook 2003 does not pass it.

<5> Section 2.2.3.1.1.3.1:  The BestBody flag is not supported in Exchange 2013, Exchange 2016, and Exchange 2019. In Exchange 2013, Exchange 2016, and Exchange 2019, the message body is in the original format.

<6> Section 2.2.3.1.1.4.1: In Exchange 2003 and Exchange 2007, the Move bit flag is not ignored on receipt.

<7> Section 2.2.3.1.1.4.1: In Exchange 2003 and Exchange 2007, the Move bit flag is read by the server.

<8> Section 2.2.3.1.1.5.2: The NoRoom value is not returned by Exchange 2010, Exchange 2013, Exchange 2016, or Exchange 2019. The NoRoom value is supported by Exchange 2003 and Exchange 2007.

<9> Section 2.2.3.1.1.5.2: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 report inaccurate information in this output parameter when client connection services are deployed on an Microsoft Exchange Server server that does not also have a mailbox message store installed.

<10> Section 2.2.3.1.2.2.1:  Exchange 2003, Exchange 2007, Exchange 2010, the initial release of Exchange 2013, Office Outlook 2003, Office Outlook 2007, Outlook 2010, and the initial release of Outlook 2013 do not support the Execute request type. The Execute request type was introduced in Microsoft Outlook 2013 Service Pack 1 (SP1) and Microsoft Exchange Server 2013 Service Pack 1 (SP1).

<11> Section 2.2.3.1.2.2.2: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 set the value of the TotalStepCount field to 0x0001. Exchange 2003 and Exchange 2007 set the value of the TotalStepCount field to 0x0000.

<12> Section 2.2.3.1.2.2.2: Exchange 2003, Exchange 2007, Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 return a value for the BufferSizeUsed field that is equal to the value of the TransferDataSize field, regardless of whether the value of the ReturnValue field is Success (0x00000000).

<13> Section 2.2.3.1.2.3.1:  Exchange 2003, Exchange 2007, Exchange 2010, the initial release of Exchange 2013, Office Outlook 2003, Office Outlook 2007, Outlook 2010, and the initial release of Outlook 2013 do not support the Execute request type. The Execute request type was introduced in Outlook 2013 SP1 and Exchange 2013 SP1.

<14> Section 2.2.3.1.2.3.2: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 set the value of the TotalStepCount field to 0x00000001. Exchange 2003 and Exchange 2007 set the value of the TotalStepCount field to 0x00000000.

<15> Section 2.2.3.1.2.3.2: Exchange 2003, Exchange 2007, Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 return a value for the BufferSizeUsed field that is equal to the value of the TransferDataSize field, regardless of whether the value of the ReturnValue field is Success (0x00000000).

<16> Section 2.2.3.2.1.1.1:  The BestBody flag is not supported in Exchange 2013, Exchange 2016, and Exchange 2019. In Exchange 2013, Exchange 2016, and Exchange 2019, the message body is in the original format.

<17> Section 2.2.3.2.4.2.1: The FailOnConflict flag is not supported by Exchange 2003, Exchange 2007, or the initial release version of Exchange 2010. The FailOnConflict flag is supported by Microsoft Exchange Server 2010 Service Pack 1 (SP1), Exchange 2013, Exchange 2016, and Exchange 2019

<18> Section 2.2.3.2.4.3.1:  The initial release version of Exchange 2010 has a return value of InvalidParameter (0x80070057) if the value of the PidTagParentSourceKey property (section 2.2.1.2.6) has a length of zero.

<19> Section 2.2.3.2.4.5.1: The HardDelete flag is not supported by Exchange 2003 or Exchange 2007.

<20> Section 2.2.4.1.3: Exchange 2003 and Exchange 2007 fail to add a null-terminator when string values are larger than 32 KB.

<21> Section 2.2.4.3.5:  Exchange 2003, Exchange 2007, and Exchange 2010 do not include the PidTagParentFolderId property (section 2.2.1.2.4) in the folderChange element if the Eid flag of the SynchronizationExtraFlags field is set.

<22> Section 2.2.4.3.6:  Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 do not include the MetaTagEcWarning meta-property (section 2.2.4.1.5.2) in the propList element because Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 do not check permissions on move operations.

<23> Section 2.2.4.3.15: Exchange 2003 and Office Outlook 2003 do not support partial item downloads. Exchange 2003 does not support the PartialItem flag of the SendOptions field and Office Outlook 2003 does not pass it.

<24> Section 2.2.4.3.20: Exchange 2003 and Exchange 2007 can include the MetaTagEcWarning meta-property (section 2.2.4.1.5.2) in the propList of the folderContent element, as described in section 2.2.4.3.6.

<25> Section 2.2.4.4: Office Outlook 2003, Office Outlook 2007, Outlook 2010, Outlook 2013, Outlook 2016, Outlook 2019 do not use the folderContent element as a root element in a FastTransfer stream.

<26> Section 2.2.4.4: The RopFastTransferSourceCopyProperties ROP (section 2.2.3.1.1.2) does not use the attachmentContent element as a root element in a FastTransfer stream in Office Outlook 2003, Office Outlook 2007, Outlook 2010, Outlook 2013, Outlook 2016, or Outlook 2019.

<27> Section 3.1.1:  Exchange 2003, Exchange 2007, Exchange 2010, and the initial release of Exchange 2013 do not support the session context cookie. The session context cookie was introduced in Exchange 2013 SP1.

<28> Section 3.1.5.4.3.2: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 send an RpcFormat error (0x000004B6), and Exchange 2003 and Exchange 2007 send a FormatError error (0x000004ED), as specified in [MS-OXCDATA] section 2.4.1, if the server encounters an unsupported command or any other decoding failures.

<29> Section 3.1.5.4.3.2.3: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 send an RpcFormat error (0x000004B6), and Exchange 2003 and Exchange 2007 send a FormatError error (0x000004ED), as specified in [MS-OXCDATA] section 2.4.1, if the server encounters the Bitmask command when there are more or fewer than five bytes in the common byte stack.

<30> Section 3.1.5.4.3.2.4: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 send an RpcFormat error (0x000004B6) and Exchange 2003 and Exchange 2007 send a FormatError error (0x000004ED), as specified in [MS-OXCDATA] section 2.4.1, if the high value of the range is larger than the low value of the range.

<31> Section 3.2.1:  Exchange 2003, Exchange 2007, Exchange 2010, and the initial release of Exchange 2013 do not support the session context cookie. The session context cookie was introduced in Exchange 2013 SP1.

<32> Section 3.2.5.3: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 do not perform this confirmation step. Exchange 2003 and Exchange 2007 do perform this confirmation step.

<33> Section 3.2.5.7: Exchange 2003 and Office Outlook 2003 do not support partial item downloads. Exchange 2003 does not support the PartialItem bit flag of the SendOptions field and Office Outlook 2003 does not pass it.

<34> Section 3.2.5.8.1.1: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 do not support the Move flag for the RopFastTransferSourceCopyTo ROP (section 2.2.3.1.1.1). The server sets the value of the ReturnValue field to InvalidParameter (0x80070057) if it receives this flag.

<35> Section 3.2.5.8.1.1: The BestBody flag is not supported in Exchange 2013, Exchange 2016, and Exchange 2019. In Exchange 2013, Exchange 2016, and Exchange 2019, the message body is in the original format.

<36> Section 3.2.5.8.1.3:  The BestBody flag is not supported in Exchange 2013, Exchange 2016, and Exchange 2019. In Exchange 2013, Exchange 2016, and Exchange 2019 the message body is in the original format.

<37> Section 3.2.5.8.1.5:  Exchange 2003, Exchange 2007, Exchange 2010, the initial release of Exchange 2013, Office Outlook 2003, Office Outlook 2007, Outlook 2010, and the initial release of Outlook 2013 do not support the Execute request type. The Execute request type was introduced in Outlook 2013 SP1 and Exchange 2013 SP1.

<38> Section 3.2.5.8.1.5:  Exchange 2003, Exchange 2007, Exchange 2010, the initial release of Exchange 2013, Office Outlook 2003, Office Outlook 2007, Outlook 2010, and the initial release of Outlook 2013 do not support the Execute request type. The Execute request type was introduced in Outlook 2013 SP1 and Exchange 2013 SP1.

<39> Section 3.2.5.8.2.1: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 fail the ROP if unknown bit flags in the CopyFlags field are set.

<40> Section 3.2.5.8.2.1: Exchange 2003 and Exchange 2007 ignore unknown values of the CopyFlags field.

<41> Section 3.2.5.9.1.1: The BestBody flag is not supported in Exchange 2013, Exchange 2016, and Exchange 2019. In Exchange 2013, Exchange 2016, and Exchange 2019, the message body is in the original format.

<42> Section 3.2.5.9.3.1: In Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019, the RopSynchronizationGetTransferState ROP (section 2.2.3.2.3.1) returns the initial ICS state for the download context until the end of the FastTransfer stream has been downloaded. Exchange 2003 and Exchange 2007 do not use this behavior.

<43> Section 3.2.5.9.3.1: In Exchange 2003 and Exchange 2007, the RopSynchronizationGetTransferState ROP (section 2.2.3.2.3.1) returns a checkpoint ICS state that is reflective of the current status. Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 do not use this behavior.

<44> Section 3.2.5.9.4.2: Exchange 2010, Exchange 2013, Exchange 2016, and Exchange 2019 fail the ROP if unknown bit flags are set. Exchange 2003 and Exchange 2007 do not fail the ROP if unknown bit flags are set.

<45> Section 3.3.1:  Exchange 2003, Exchange 2007, Exchange 2010, and the initial release of Exchange 2013 do not support the session context cookie. The session context cookie was introduced in Exchange 2013 SP1.

<46> Section 3.3.5.1:  Office Outlook 2003 introduced the implementation of performing upload operations before download operations; however the Bulk Data Transfer Protocol has no requirement about the order of upload or download operations.

<47> Section 3.3.5.6: Exchange 2003 and Exchange 2007 do not return the initial ICS state in place of the checkpoint ICS state.

<48> Section 3.3.5.6: In Exchange 2003 and Exchange 2007, synchronization download operations function the same as synchronization upload operations. In Exchange 2003 and Exchange 2007, the server returns checkpoint ICS states that are accurate to the time at which the checkpoint was requested in both synchronization download operations and synchronization upload operations.

<49> Section 3.3.5.7.1: In Exchange 2003 and Exchange 2007, clients are not required to pass a value in the BufferSize field of a certain size.

<50> Section 3.3.5.9.1: Office Outlook 2003 does not support the 0x00000480 error code.