Synchronized Streams and Properties
Topic Last Modified: 2006-06-12
Many items in the Exchange store contain an associated stream of data that represents the item in serialized format. The properties for the item, therefore, are represented in the stream by using a related Internet standard format. For example, a message item normally contains properties that identify to whom the message is addressed, who the message is from, and a subject. The values of these properties reside in two places: as properties for the item, and in the message stream, formatted according to RFC 822 and RFC 1522 (Multipurpose Internet Mail Extensions (MIME)). The following table represents such an item.
Property | Value |
---|---|
"User 1" <user1@example.com> |
|
"User 2" <user2@example.com> |
|
You're late for the meeting! |
|
We're in room 3607. Come by if you can! |
|
adDefaultStream (-1) |
To: "User 1" <user1@example.com> From: "User 2" <user2@example.com> Subject: Meeting in room 3607 |
When this item is accessed using a Microsoft® ActiveX® Data Objects (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 to Field to "User 3" <user3@example.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.
Collaboration Data Objects (CDO), on the other hand, keeps the list of properties and the associated stream synchronized for items of a certain content class. If the item in the preceding table were accessed using the CDO Message CoClass, the properties and stream would be coupled, and changes made to properties would be reflected in the stream, and vice versa.