3.2.5.10 Receiving a RopSetReadFlags ROP Request

The server immediately commits the changes to the Message objects as if the Message objects had been opened and the RopSaveMessageChanges ROP ([MS-OXCROPS] section 2.2.6.3) had been called, except that it only changes the PidTagMessageFlags property (section 2.2.1.6), not the PidTagChangeKey property ([MS-OXCFXICS] section 2.2.1.2.7), the PidTagLastModificationTime property (section 2.2.2.2), or any other property that is modified during a RopSaveChangesMessage ROP request ([MS-OXCROPS] section 2.2.6.3).

If the WantAsynchronous flag, as specified in section 2.2.3.10.1), is nonzero, the server SHOULD return a RopSetReadFlags ROP response ([MS-OXCROPS] section 2.2.6.10) but MAY return a RopProgress ROP response ([MS-OXCROPS] section 2.2.8.13) instead. If the SUPPORT_PROGRESS flag, as specified in [MS-OXCSTOR] section 2.2.1.1.1, is not set by the client in the OpenFlags field in the RopLogon ROP ([MS-OXCROPS] section 2.2.3.1), then the server SHOULD disable asynchronous processing of the RopSetReadFlags ROP and SHOULD NOT<28> return the RopProgress ROP whether or not the WantAsynchronous flag is set.

If the server has not received a SUPPORT_PROGRESS flag in the request buffer of the RopLogon ROP ([MS-OXCROPS] section 2.2.3.1), the server MUST disable asynchronous processing for the RopSetReadFlags ROP ([MS-OXCROPS] section 2.2.6.10), overriding any value of the WantAsynchronous flag. In this case, a RopProgress ROP SHOULD NOT<29> be sent. If the client does not pass the SUPPORT_PROGRESS flag, the server will process the entire RopSetReadFlags ROP request before returning a response to the client. If the client does pass a SUPPORT_PROGRESS flag, and the client also passes the WantAsynchronous flag, the server performs asynchronously and returns the RopProgress ROP to inform the client of the status of processing the RopSetReadFlags ROP.

If the server is unable to modify one or more of the Message objects that are specified in the MessageIds field, as specified in section 2.2.3.10.1, of the request buffer, then the server returns the PartialCompletion flag, as specified in section 2.2.3.10.2, in the response buffer.

The following specific error code applies to this ROP.

Error  code name

Value

Meaning

ecNullObject

0x000004B9

The value of the InputHandleIndex field on which this ROP was called does not refer to a Folder object.