3.2.5.12 Processing RopCreateBookmark

When the server receives a RopCreateBookmark ROP request ([MS-OXCROPS] section 2.2.5.11), it MUST create a custom bookmark, as specified in section 2.2.2.1.2, that uniquely identifies a row in the table and can be subsequently used in the RopSeekRowBookmark ROP ([MS-OXCROPS] section 2.2.5.9).

The server can allocate resources on the server to keep track of the bookmark created by RopCreateBookmark ROP.

If the client does not send a RopFreeBookmark ROP request ([MS-OXCROPS] section 2.2.5.14), the server MUST release all bookmarks related to a table when that table is released as a result of sending a ROPRelease ROP request ([MS-OXCROPS] section 2.2.15.3) on the table or when a RopResetTable ([MS-OXCROPS] section 2.2.5.15), RopSortTable ([MS-OXCROPS] section 2.2.5.2), or RopRestrict ([MS-OXCROPS] section 2.2.5.3) ROP request is sent.

The server MUST complete all asynchronous table ROPs prior to executing this ROP or fail the ROP with "ecBusy",<31> as specified in section 3.2.5.1.

The RopCreateBookmark ROP MUST be supported for contents tables and hierarchy tables.

The following specific error code applies to this ROP. If the server encounters this error while processing this ROP, it MUST NOT process any remaining ROPs in the ROP input buffer, as specified in [MS-OXCROPS] section 2.2.1. For more details about ROP errors returned, see [MS-OXCDATA] section 2.4.

Error code name

Value

Description

ecNotSupported

0x80040102,

%x02.01.04.80

The object on which this ROP was sent is not a contents table or hierarchy table.