4.2.1 Client Request Buffer

A complete ROP request buffer is a variable length sequence, with 6 required bytes and 4 bytes for each property tag to be included in the columns set. An example of the ROP request buffer is as follows:

 0000: 12 00 01 00 06 00 14 00-48 67 14 00 4a 67 14 00
 0010: 4d 67 03 00 4e 67 1f 00-37 00 40 00 06 0e

The first 3 bytes of the ROP request buffer are the RopId, LogonID, and InputHandleIndex fields of the RopSetColumns ROP, as described in [MS-OXCROPS] section 2.2.5.1.1.

  
 0000: 12 00 01

RopId: 0x12 (RopSetColumns)

LogonID: 0x00

InputHandleIndex: 0x01

The next 3 bytes are the SetColumnsFlags and PropertyTagCount fields of the RopSetColumns ROP, described in section 2.2.2.2.1. For more information on property buffer format, see [MS-OXCDATA].

  
 0003: 00 06 00

SetColumnsFlags: 0x00. Perform this operation synchronously.

PropertyValueCount: 0x0006. Six 4-byte property tags follow.

The remaining bytes are the PropertyTags field, which holds an array of 4-byte property tags.

  
 0006: 14 00 48 67 14 00 4a 67-14 00 4d 67 03 00 4e 67
 0016: 1f 00 37 00 40 00 06 0e

PropertyTag: 0x67480014 (PidTagFolderId ([MS-OXCFOLD] section 2.2.2.2.1.6))

PropertyTag: 0x674a0014 (PidTagMid ([MS-OXCFXICS] section 2.2.1.2.1))

PropertyTag: 0x674d0014 (PidTagInstID (section 2.2.1.1))

PropertyTag: 0x674e0003 (PidTagInstanceNum (section 2.2.1.2))

PropertyTag: 0x0037001f (PidTagSubject ([MS-OXPROPS] section 2.1034))

PropertyTag: 0x0e060040 (PidTagMessageDeliveryTime ([MS-OXOMSG] section 2.2.3.9))