2.2.4 FastTransfer Stream

The information set encoded in a FastTransfer stream depends on the type and parameters of the operation that produces it, as specified in section 2.2.4.4. Parsing (syntactic analysis) of the stream can be done without knowing what operation produced it.

At a high level, the FastTransfer stream contains serialized mailbox data and markers. Note that markers are not properties and can never have a value, although they are specified in [MS-OXPROPS] and have the same syntax as property tags. The complete list of markers is specified in section 2.2.4.1.4.

Section 2.2.4.1 and section 2.2.4.2 contain an Augmented Backus-Naur Form (ABNF) like description of the tokenized FastTransfer stream structure. The description uses the conventions specified in [RFC5234], except for the following:

  • For display purposes, indented lines represent a continuation of the lines that precede them.

Despite their name, FastTransfer streams are not represented as Stream objects, and they can only be manipulated by using the RopFastTransferSourceGetBuffer ROP (section 2.2.3.1.1.5) for download operations and RopFastTransferDestinationPutBuffer ROP (section 2.2.3.1.2.2) for upload operations. For more details about how FastTransfer streams are produced and processed by ROPs, see section 2.2.4.4.