4 Protocol Examples
This section provides a sample sequence of ROP requests and ROP responses that a client and a server might exchange as the client logs on to a user mailbox or public folders, reads or writes mailbox-level properties, or determines the availability of content for public folders. Note that the examples listed here only show the relevant portions of the specified ROPs; these portions are not the final byte sequences that get transmitted over the wire. Also note that the data for a multi-byte field appear in little-endian format, with the bytes in the field presented from least significant to most significant. Generally speaking, these ROP requests are packed with other ROP requests. These examples assume the client has already successfully connected to the server. For more details, see [MS-OXCRPC] section 4.1.
The byte sequences are shown in the following format with each byte's value expressed as a two-digit hexadecimal number.
0080: 45 4d 53 4d 44 42 2e 44-4c 4c 00 00 00 00 00 00
The value, 0080, at the far left is the byte sequence's offset from the beginning of the buffer. Following the offset is a colon and then a series of up to 16 byte values. Here, the first byte value (45) in the series is located 0x80 bytes (128 bytes) from the beginning of the buffer. The seventh byte value (2e) in the series is located 0x86 bytes (134 bytes) from the beginning of the buffer. The dash between the eighth byte (44) and ninth byte (4c) has no semantic value, and serves only to distinguish the eight byte boundary for readability purposes.
Each set of byte sequences is followed by one or more lines interpreting it.
The following example shows how a property tag and its property value are represented in a buffer and interpreted directly from it (according to the TaggedPropertyValue structure format specified in [MS-OXCDATA] section 2.11.4). The data appears in the buffer in little-endian format.
0020: 03 00 76 66 0a 00 00-00
[0024-0027] Property value: 10
Generally speaking, interpreted values will be shown in their native format, interpreted appropriately from the raw byte sequence as specified in the appropriate section. Here, the byte sequence "0a 00 00 00" has been interpreted as a PtypInteger32 with a value of 10 because the type of the PidTagRuleSequence property is PtypInteger32. Property data types are specified in [MS-OXCDATA] section 2.11.1.