3.3.5.7.1 Sending a RopFastTransferSourceGetBuffer ROP Request

To obtain all data output by an operation, the RopFastTransferSourceGetBuffer ROP (section 2.2.3.1.1.5) MUST be sent iteratively, because the amount of data that can be passed in one RPC is limited by its maximum size. A client MUST stop sending this ROP on a download context as soon as it receives TransferStatus field values of Done or Error.

Clients SHOULD<49> set the value of the BufferSize field in the ROP request to a sentinel value of 0xBABE to achieve maximum efficiency. If this field is not set to 0xBABE, then clients MUST pass a value equal to or greater than 15480 or MUST be prepared to increase this number in future requests if they passed a smaller value and the RopBufferTooSmall ROP response ([MS-OXCROPS] section 2.2.15.1) was returned.

Clients MAY set the value of the MaximumBufferSize field to at least the size of the output RPC buffer to achieve maximum efficiency.

For details about the client behavior when receiving a RopFastTransferSourceGetBuffer ROP response, see section 3.3.5.9.1.