Processing RopCreateBookmark

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

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, 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 on the table or when a RopResetTable ([MS-OXCROPS] section, RopSortTable ([MS-OXCROPS] section, or RopRestrict ([MS-OXCROPS] section 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

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






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