3.2.4.1.3.2 Client Versions

A client implementation determines which level of support it will offer servers. Based on this level of support, it MUST pass a client version that corresponds to that support. A client cannot mix and match functionality. To support functionality at one client version level, it MUST support all functionality from previous client version levels.

The following table shows client versions that are passed to the server on the EcDoConnectEx method, as specified in section 3.1.4.1, where the client can expect the server behavior to change if the version that is transferred on the wire is equal to or greater than the client version numbers as listed in the table.

Client version

Description

11.0.0.0

The client supports receiving Unicode strings for all string properties on recipient row data that is returned from the server on the RopReadRecipients ROP ([MS-OXCROPS] section 2.2.6.6), the RopOpenMessage ROP ([MS-OXCROPS] section 2.2.6.1), and the RopOpenEmbeddedMessage ROP ([MS-OXCROPS] section 2.2.6.16). This is the minimum version that a client supports to implement the protocol.

11.00.0000.4920

The client supports receiving ecServerBusy (0x00000480) in the ReturnValue field of the RopFastTransferSourceGetBuffer ROP response ([MS-OXCROPS] section 2.2.12.4). The BackoffTime field is present when the ReturnValue field contains ecServerBusy. If the value of the ReturnValue field is not ecServerBusy, the BackoffTime field is not present. For details about the RopFastTransferSourceGetBuffer ROP, see [MS-OXCFXICS] sections 2.2.3.1.1.5 and 3.2.5.8.1.5.

12.00.0000.000

The client supports receiving the errors ecCachedModeRequired, ecRpcHttpDisallowed, and ecProtocolDisabled on the EcDoConnectEx method call; otherwise, the client will get back ecClientVerDisallowed instead. The client supports topologies that do not have public folders available. For client versions earlier than 12.00.0000.000, the server MUST fail the EcDoConnectEx method call with ecClientVerDisallowed when no public folders are configured within the messaging system unless the EcDoConnectEx method parameter flag 0x00008000 is passed in the ulFlags parameter.

12.00.3118.000

The client supports receiving an AUX_EXORGINFO block in the rgbAuxOut parameter (section 3.1.4.1.1.1.2), on the EcDoConnectEx method. The server SHOULD return the AUX_EXORGINFO auxiliary block structure in the rgbAuxOut parameter on the EcDoConnectEx method call.

12.00.3619.000

The client supports receiving the error ecNotEncrypted on the EcDoConnectEx method call; otherwise, the client will get back ecClientVerDisallowed. This error is returned when the server is configured to only allow encrypted connections and the client is trying to connect on a nonencrypted connection.

12.00.3730.000

The client supports send optimization for Incremental Change Synchronization (ICS) using the PidTagTargetEntryId property ([MS-OXOMSG] section 2.2.1.69). For more details, see [MS-OXCFXICS] section 3.3.4.3.3.2.1.2.

12.00.4207.000

The client supports packing of the RopReadStream ROP ([MS-OXCROPS] section 2.2.9.2) in the ROP response buffer of the EcDoRpcExt2 method (section 3.1.4.2). The RopReadStream ROP MUST be the last ROP in the request buffer on the EcDoRpcExt2 method call. For details about extended buffer packing, see section 3.1.4.2.1.2.

12.00.4228.0000

The client supports receiving the RopBackoff ROP ([MS-OXCROPS] section 2.2.15.2) in the ROP response buffer of the EcDoRpcExt2 method call. For details, see [MS-OXCROPS] section 3.1.5.1.1.