Platform SDK: Exchange 2000 Server

Synchronized Streams and Properties

[This is preliminary documentation and subject to change.]

Many items in the Web Store contain an associated stream of data that represents the item in serialized format. The properties for the item, therefore, are represented within the stream using a related Internet standard format. For example, a message item normally contains properties that identify to whom the message is addressed, from whom the message is from, and a subject. The values of these properties reside in two places: as properties for the item, and within the message stream, formatted according to RFC 822 and RFC 1522 (MIME). The following table represents such an item:

Property Value
urn:schemas:mailheader:to "User 1" <user1@microsoft.com>
urn:schemas:mailheader:from "User 2" <user2@microsoft.com>
urn:schemas:mailheader:subject You're late for the meeting!
urn:schemas:mailheader:textdescription We're in room 3607. Come by if you can!
adDefaultStream (-1) To: "User 1" <user1@microsoft.com>

From: "User 2" <user2@microsoft.com>

Subject: You're late for the meeting!

We're in room 3607. Come by if you can!


When this item is accessed using an ADO Record object, all of the data, including the stream, is presented in a Fields collection. The stream, which has a special semantic definition within the ADO 2.5 specification, is accessed using the ADO Stream object from within the Fields collection. However, ADO assumes no correlation between the properties for the item, and the default stream. That is, if you were to change the urn:schemas:mailheader:to property to "User 3" <user3@microsoft.com>, only the property would change, and the stream would not be updated to reflect the new value. You would have to update the message stream manually.

CDO, on the other hand, keeps the list of properties and the associated stream synchronized for items of certain content classes. If the same item represented in the previous table were accessed using the CDO Message object, the properties and stream would be coupled, and changes made to properties would be reflected in the stream and vice versa.