2.2.2.10.1 RopSeekRowBookmark ROP Request Buffer

The following descriptions define valid fields for the RopSeekRowBookmark ROP request buffer ([MS-OXCROPS] section 2.2.5.9.1).

BookmarkSize (2 bytes): An unsigned integer that specifies the size, in bytes, of the Bookmark field.

Bookmark (variable): A bookmark indicating the starting position of the seek operation. The value of the Bookmark field MUST be data that was returned by a previous RopCreateBookmark ROP request ([MS-OXCROPS] section 2.2.5.11). The bookmark MUST NOT have been previously freed by using the RopFreeBookmark ROP ([MS-OXCROPS] section 2.2.5.14).

RowCount (4 bytes): A signed integer that specifies the number of rows to seek, starting from the bookmark. To seek forward from the bookmark, the value MUST be positive; to seek backward, the value MUST be negative.

WantRowMovedCount (1 byte): A Boolean that specifies whether the actual number of rows moved is returned by the server. If this field is set to "TRUE" (0x01), the server MUST return the actual number of rows moved. If this field is set to "FALSE" (0x00), the value of the HasSoughtLess and RowsSought fields specified in section 2.2.2.10.2 is undefined, and the client MUST ignore them.

The actual number of rows moved can differ from the requested number of rows if the beginning or end of the table is encountered before moving the requested number of rows.