3.1.5.3 Server Object Dependencies

The client MUST use the RopRelease ROP (section 2.2.15.3) to release an object. The client MUST release an owned object before releasing the object's owner. For example, a Stream object that is owned by a folder is released before the owning folder is released. A summary of object owners and the objects that they can own is provided below.

An attachment owns the following:

A message owns the following:

  • An attachment of the message

  • A Stream object that is opened on properties of the message

  • An attachments table that is opened on the message

  • A FastTransfer download context that is opened by a RopFastTransferSourceCopyTo ROP or a RopFastTransferSourceCopyProperties ROP

  • A FastTransfer upload context that is opened by a RopFastTransferDestinationConfigure ROP (section 2.2.12.1)

A folder owns the following:

  • A Stream object that is opened on properties of the folder

  • A rules table that is opened on the folder

  • A permissions table that is opened on the folder

  • A fast-transfer download context that is opened by a RopFastTransferSourceCopyTo ROP or RopFastTransferSourceCopyProperties ROP

  • A FastTransfer download context that is opened by a RopFastTransferSourceCopyMessages ROP (section 2.2.12.6) or a RopFastTransferSourceCopyFolder ROP (section 2.2.12.5)

  • A synchronization download context that is opened by a RopSynchronizationConfigure ROP (section 2.2.13.1)

  • A FastTransfer upload context that is opened by a RopFastTransferDestinationConfigure ROP

  • A synchronization upload context that is opened by a RopSynchronizationOpenCollector ROP (section 2.2.13.7)