4 Protocol Examples

The following examples illustrate the byte order of ROPs in a buffer being prepared for transmission. Please note that the examples listed here only show the relevant portions of the specified ROPs; this is not the final byte sequence that gets transmitted over the wire. Also note that the data for a multibyte 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 compressed and packed with other ROP requests as described in [MS-OXCRPC]. These examples assume the client has already successfully logged on to the server and opened the table. Unless otherwise noted, these examples are additive; the second example is performed after the first example, and so on. For more information, see [MS-OXCROPS].

Examples in this section use the following format for byte sequences:

0080: 45 4d 53 4d 44 42 2e 44-4c 4c 00 00 00 00 00 00

The bold value at the far left is the offset of the following bytes into the buffer, expressed in hexadecimal notation. Following the offset is a series of up to 16 bytes, with each two character sequence describing the value of 1 byte in hexadecimal notation. Here, the bold byte "4d" (01001101) is located 0x83 bytes (131 bytes) from the beginning of the buffer. The dash between the eighth byte ("44") and the ninth byte ("4c") has no semantic value and serves only to distinguish the 8-byte boundary for readability purposes.

Such a byte sequence is then followed by one or more lines interpreting it. In larger examples, the byte sequence is shown once in its entirety and then repeated in smaller chunks, with each smaller chunk interpreted separately.

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 described in [MS-OXCDATA] section 2.11.4). The property tag appears in the buffer in little-endian format.

0021: 03 00 76 66 0a 00 00-00

PropertyTag: 0x66760003 (PidTagRuleSequence ([MS-OXPROPS] section 2.953))

PropertyValue: 10

Generally speaking, interpreted values will be shown in their native format, interpreted appropriately from the raw byte sequence as described in the appropriate section. Here, the byte sequence "0a 00 00 00" has been interpreted as a PtypInteger32 ([MS-OXCDATA] section 2.11.1), with a value of 10 because the type of the PidTagRuleSequence property is PtypInteger32.