Factors Affecting Property Value Representation in the Table and View Classes

There are a couple of factors that affect the type and format of a property in a Table and in a View. String properties are affected by the store provider, and binary, date, and multi-valued properties are affected by the way the property is referenced when it is first added to a Table, an OrderFields collection, or a ViewFields collection, or specified as a StartField or EndField in a CalendarView or TimelineView.

String Properties Affected by Store Providers

The length of the value of a string property depends on the store provider. For Exchange and OST/PST stores, the length of the string value will not exceed 255 bytes. This means that string values longer than 255 bytes will be truncated at the first 255 characters.

For example, if you use Columns.Add to add the PR_INTERNET_TRANSPORT_HEADERS property (referenced by namespace as https://schemas.microsoft.com/mapi/proptag/0x007d001e) to a Table, the Table will only store the first 255 characters of the full content of the property. If you need to determine the full content of the property, you must use the corresponding item’s Entry ID in NameSpace.GetItemFromID to obtain a full item. Once you have the item, you can use the PropertyAccessor to obtain the complete property value.

Date, Binary, and Multi-valued Properties Affected by Property Reference

The type and format of a binary, date, or multi-valued property are affected by how the property is referenced when it is first added to a Table or as a field to a View. Is the property referenced by its explicit built-in name (if it has one), or is it referenced by namespace (regardless of the existence of an explicit built-in name)? The following table summarizes the difference in the property value representation (in terms of type and format) per original property type:

Type of Property

Type/Format Stored if Property Added by Referencing an Explicit Built-in Name

Type/Format Stored if Property Added by Referencing a Namespace

Binary

String

Byte array

Date

Local time

Coordinated Universal Time (UTC)

Multi-valued

String containing comma-separated values

1-dimensional array containing one element for each keyword

Note

For more information on referencing properties by namespace, see Referencing Properties by Namespace.