1.3 Overview

A ROP input buffer is used by the client to send requests to the server. A ROP output buffer is used by the server to send responses back to the client. These requests specify operations, such as the following, that access and modify mailbox data on a server:

  • Log on to mailboxes or public folders on a server

  • Retrieve the list of folders and messages on a mailbox

  • Move and copy messages or folders from one location to another

  • Sort and filter views of messages or folders

  • Submit new messages for delivery to other mailboxes or servers

  • Retrieve a list of changes made to messages and folders

  • Register for notifications when contents of a mailbox have changed

A client packages one or more ROP requests into a ROP input buffer and either makes a method call on the EMSMDB interface, as described in [MS-OXCRPC] section 3.2, or uses a request type, as described in [MS-OXCMAPIHTTP] section 3.1, passing the ROP input buffer as part of the payload. The server then parses the ROP requests from the ROP input buffer. Each request is processed and a ROP response is added to the ROP output buffer. Once the server has finished processing the ROP input buffer, the method call returns the responses to the client, as described in [MS-OXCRPC] section 3.1 or as described in [MS-OXCMAPIHTTP] section 3.2.