3.2.5.18 Processing RopSeekStream

When the server receives a RopSeekStream ROP request buffer ([MS-OXCROPS] section 2.2.9.8) from the client, the server parses the buffer. The server responds with a RopSeekStream 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 modifies the location of the seek point associated with the Stream object according to the ROP request buffer. If the client requests the seek pointer be moved beyond 2^31 bytes, the server MUST return the StreamSeekError error code in the ReturnValue field of the ROP response buffer. If the client requests the seek pointer be moved beyond the end of the stream, the stream is extended, and zeros filled to the new seek location.

The following error codes SHOULD be returned when the scenarios described in the corresponding Description column of the following table are met.

Error code name

Value

Description

StreamSeekError

0x80030019

Tried to seek to offset before the start or beyond the max stream size of 2^31.

StreamInvalidParam

0x80030057

The value of the Origin field is invalid.