4.5.3.2 Server Response to Client Request

0000: 15 00 00 00 00 00 02 09-00 01 00 01 00 00 00 00

 0010: f1 1f 32 0a 0f 01 04 80-00 01 00 00 00 00 f1 88
 0020: bd 00 00 00 00 00 00 03-00 00 00 00 00 00 00 00
 0030: 0a 0f 01 04 80 0a 0f 01-04 80 0a 0f 01 04 80 0a ...

The first 6 bytes of the ROP response buffer are the RopId, InputHandleIndex, and ReturnValue fields, as described in [MS-OXCROPS] section 2.2.5.4.2.

  
 0000: 15 00 00 00 00 00

RopId: 0x15 (RopQueryRows ([MS-OXCROPS] section 2.2.5.4))

InputHandleIndex: 0x00

ReturnValue: 0x00000000 (Success)

The next 3 bytes are the Origin and RowCount fields described in section 2.2.2.5.2.

  
 0006: 02 09 00

Origin: 0x02. Corresponds to the predefined Bookmark field value "BOOKMARK_END", as described in section 2.2.2.1.1.

RowCount: 0x0009. Nine FlaggedPropertyValue structures follow in the response.

The remaining bytes in the ROP response buffer are for the RowData array, which consists of a series of flags for the row coupled with a FlaggedPropertyValue field, as described in [MS-OXCDATA] section 2.11.5. The RopSetColumns ROP request ([MS-OXCROPS] section 2.2.5.1) for this sequence of ROPs has not been shown.

  
 0009: 01 00 01 00 00 00 00 f1-1f 32 0a 0f 01 04 80 00
 0019: 01 00 00 00 00 f1 88 bd-00 00 00 00 00 00 03 00
 0029: 00 00 00 00 00 00 00 0a-0f 01 04 80 0a 0f 01 04
 0039: 80 0a 0f 01 04 80 0a ...

Has Flag: 0x01 (for the entire row)

Flag: 0x00.

FlaggedPropertyValue: 0x321ff10000000001. This property is PidTagFolderId (0x67480014) ([MS-OXCFOLD] section 2.2.2.2.1.6).

The format follows this pattern as covered in section 4.4.2, the server response buffer for the first RopQueryRows example.

Because this example is for messages with categories, there is an interesting case when one message has multiple categories assigned to it. Further into the buffer are the following sets of properties.

Property tag

Property value

0x674D0014 (PidTagInstID (section 2.2.1.1))

0xb773f10000000001

0x674E0003 (PidTagInstanceNum (section 2.2.1.2))

1

0x8008001F (PidTagAddressBookIsMemberOfDistributionList ([MS-OXOABK] section 4.5.3.2))

Category1

Property tag

Property value

0x674D0014 (PidTagInstID)

0xb773f10000000001

0x674E0003 (PidTagInstanceNum)

2

0x8008001F (PidTagAddressBookIsMemberOfDistributionList)

Category2

The same message appears twice in the contents table due to the category grouping. The PidTagInstanceNum property makes this phenomenon easily recognizable.