3.2.5.10 Effect of Property and Subobject Filters on Download

Property and subobject filters specified during the configuration of a download operation only have an effect on the objects that are directly included in the scope of the operation. For example:

  • Specifying a property in the PropertyTags field of the request buffer of a RopFastTransferSourceCopyProperties ROP (section 2.2.3.1.1.2) whose InputServerObject field contains an Attachment object affects the set of properties copied for this attachment, but not its embedded message or any attachments that it might contain.

  • Specifying the PidTagFolderAssociatedContents property ([MS-OXPROPS] section 2.700) in the PropertyTags field of the request buffer of a RopFastTransferSourceCopyTo ROP (section 2.2.3.1.1.1)whose InputServerObject field contains a Folder object only excludes FAI Message objects from copying this specific folder, but not any of its descendant folders.

  • Specifying the PidTagMessageRecipients property ([MS-OXPROPS] section 2.796) in the PropertyTags fields of the request buffer of a RopSynchronizationConfigure ROP (section 2.2.3.2.1.1) excludes recipient subobjects from all message changes downloaded in that operation, but it does not affect recipients of embedded messages that their attachments might have.

Regardless of property filters specified at operation configuration time, certain properties MUST be excluded from output. For details about the properties to exclude from output, see section 3.2.5.12.

At the same time, directives to include or exclude properties and subobjects supplied through flags do have an effect on downloaded objects at all levels. For example:

  • Specifying the CopySubfolders flag of the CopyFlag field, as specified in section 2.2.3.1.1.4.1, includes all subfolders of the current folder into the operation scope.

  • Specifying the SendEntryId flag of the CopyFlag field includes all identification properties for all objects being downloaded.

Whenever subobject filters have an effect, servers MUST output a MetaTagFXDelProp meta-property (section 2.2.4.1.5.1) immediately before outputting subobjects of a particular type, to differentiate between the cases where a set of subobjects (such as attachments or recipients was filtered in, but was empty, and where it was filtered out. For example:

  • Specifying the PidTagMessageRecipients meta-property ([MS-OXPROPS] section 2.796) in the PropertyTags field of the request buffer of the RopFastTransferSourceCopyProperties ROP (section 2.2.3.1.1.2) where the InputServerObject field contains a Message object, directs the server to output the MetaTagFXDelProp (section 2.2.4.1.5.1) and PidTagMessageRecipients properties before outputting recipients of that message, even if there are no recipients.

The protocol does not support incremental download of subobjects. Subobjects of a particular type are either filtered out, in which case the MetaTagFXDelProp meta-property MUST NOT be output, or are filtered in; that is, they MUST be output one after another, prefixed by the MetaTagFXDelProp meta-property.