3.2.5.14 Processing a RopGetContentsTable ROP Request

When the server receives a RopGetContentsTable ROP request buffer ([MS-OXCROPS] section 2.2.4.14) from the client, the server parses the buffer. The server responds with a RopGetContentsTable ROP response buffer. For details about how the server parses buffers and processes ROPs, see [MS-OXCROPS] section 3.2.5.1. For details about how the server formats buffers for the response, see [MS-OXCROPS] section 3.2.5.2.

The server returns a contents table on which table operations can be performed. For details about Table objects and table operations, see [MS-OXCTABL]. The Table object that is returned provides information about messages that are directly under the Folder object on which this ROP is executed. In the contents table for a search folder, the PidTagParentEntryId property (section 2.2.2.2.1.7) contains the entry ID of the folder where the linked message resides.

The particular information that the server returns in the contents table is determined by the bit settings in the TableFlags field of the RopGetContentsTable ROP request buffer, as specified in section 2.2.1.14.1. If the ConversationMembers bit of the TableFlags field is set, the server SHOULD<21> return a contents table that shows messages pertaining to a particular conversation. If the DeferredErrors bit of the TableFlags field is set, the server can return, at its discretion, the ROP response buffer immediately, possibly before the ROP execution is complete. If the server has not completed execution of the ROP, the values of the ReturnValue and the RowCount fields of the ROP response buffer, as specified in section 2.2.1.14.2, might not be accurate.

If the client sets an invalid bit in the TableFlags field, the server SHOULD<22> fail the ROP with an error code of ecInvalidParam.

The following specific error codes apply to this ROP. For more details about ROP errors, see [MS-OXCDATA] section 2.4.

Error code name

Value

Meaning

ecNotSupported

0x80040102

The object that this ROP was called on is not a Folder object.

ecInvalidParam

0x80070057

An invalid value was specified in a field.