3.3.4.3.2 Downloading Changes Using ICS

The following steps MUST be taken by a client when downloading mailbox differences from a server using ICS:

  1. Obtain a handle to a Folder object, for which synchronization is being requested. For details about obtaining a folder handle, see [MS-OXCFOLD].

  2. Send the RopSynchronizationConfigure ROP (section 2.2.3.2.1.1) request to create a synchronization download context on the server and define the parameters and the scope of the operation.

  3. Send the RopSynchronizationUploadStateStreamBegin (section 2.2.3.2.2.1), RopSynchronizationUploadStateStreamContinue (section 2.2.3.2.2.2), and RopSynchronizationUploadStateStreamEnd ROP (section 2.2.3.2.2.3) requests to upload the initial ICS state information to the synchronization context.

  4. Iteratively send the RopFastTransferSourceGetBuffer ROP (section 2.2.3.1.1.5) request on the synchronization download context to retrieve the FastTransfer stream of the mailbox differences and the final ICS state.

  5. Persist the ICS state.

  6. Send the RopRelease ROP ([MS-OXCROPS] section 2.2.15.3) request to release the Folder object and the synchronization download context obtained in steps 1 and 2.