3.1.5.2 Processing ROPs Asynchronously

Some ROPs can be processed asynchronously. During asynchronous processing, the client receives a RopProgress ROP response buffer ([MS-OXCROPS] section 2.2.8.13) instead of the ROP response buffer that corresponds to the ROP request buffer that the client sent. The RopProgress ROP response indicates that the operation is still being processed. When processing is complete, the client receives the ROP response buffer that corresponds to the original ROP request buffer.

Any of the following ROPs can be processed asynchronously if its ROP request buffer was sent with the WantAsynchronous field set to nonzero (TRUE).

RopMoveCopyMessages (section 2.2.1.6)

RopMoveFolder (section 2.2.1.7)

RopCopyFolder (section 2.2.1.8)

RopEmptyFolder (section 2.2.1.9)

RopHardDeleteMessagesAndSubfolders (section 2.2.1.10)

RopDeleteMessages (section 2.2.1.11)

RopHardDeleteMessages (section 2.2.1.12)

The client can send a RopProgress ROP request buffer either to abort an in-progress operation or to get information about the progress of an operation. For more details about the RopProgress ROP, see [MS-OXCPRPT] sections 2.2.23 and 3.2.5.20.