188.8.131.52 Sending a RopOpenMessage ROP Request
To send the RopOpenMessageROP request ([MS-OXCROPS] section 184.108.40.206) , the client first obtains the MID ([MS-OXCDATA] section 220.127.116.11) for the Message object to be opened, and either the FID ([MS-OXCDATA] section 18.104.22.168) or the LogonID. The MID is accessible from the contents table of the Folder object that contains the Message object by including the PidTagMid property ([MS-OXCFXICS] section 22.214.171.124.1) in a RopSetColumns ROP request ([MS-OXCROPS] section 126.96.36.199), as specified in [MS-OXCTABL] section 188.8.131.52.
To open a soft deleted Message object, the client MUST include the OpenSoftDeleted flag in the OpenModeFlag field.
When the client receives the response buffer, it can cache the data from the NormalizedSubject and SubjectPrefix fields to minimize further calls to the server; it then updates the cache when issuing a RopSetProperties ROP request ([MS-OXCROPS] section 184.108.40.206) for the PidTagNormalizedSubject property (section 220.127.116.11) and the PidTagSubjectPrefix property (section 18.104.22.168) and uses the cached values.
The client uses the opened Message object in subsequent ROPs; it MUST eventually send a RopRelease ROP request ([MS-OXCROPS] section 22.214.171.124) on the Message object and, after doing so, MUST NOT use the Message object for any subsequent ROPs.
The client is responsible for maintaining the privacy of the properties on the Message object when the PidLidPrivate property (section 126.96.36.199) is set to 0x01.
If a client does not recognize a message class, it reverts to acting on all but the last group, recursively, until a recognized form remains.