184.108.40.206 Sending a RopOpenMessage ROP Request
To send the RopOpenMessageROP request ([MS-OXCROPS] section 220.127.116.11) , the client first obtains the MID ([MS-OXCDATA] section 18.104.22.168) for the Message object to be opened, and either the FID ([MS-OXCDATA] section 22.214.171.124) 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 126.96.36.199.1) in a RopSetColumns ROP request ([MS-OXCROPS] section 188.8.131.52), as specified in [MS-OXCTABL] section 184.108.40.206.
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 220.127.116.11) for the PidTagNormalizedSubject property (section 18.104.22.168) and the PidTagSubjectPrefix property (section 22.214.171.124) 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 126.96.36.199) 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 188.8.131.52) 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.