Sending a RopOpenMessage ROP Request

To send the RopOpenMessage ROP request ([MS-OXCROPS] section , the client first obtains the MID ([MS-OXCDATA] section for the Message object to be opened, and either the FID ([MS-OXCDATA] section 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 in a RopSetColumns ROP request ([MS-OXCROPS] section, as specified in [MS-OXCTABL] section

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 for the PidTagNormalizedSubject property (section and the PidTagSubjectPrefix property (section 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 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 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.