Message Store Features

Message store providers are more complex than other MAPI service providers in that message store providers have a wider range of optional features they can implement. The list of required features for a message store provider is fairly short. However, a typical message store provider will support a number of optional features, since many of the optional features are very useful or required by most MAPI clients. The following table lists the major features that message store providers can implement and whether each feature is required or optional for all message store providers and for default message store providers.

Feature All Default
Providing status with the MAPI status table Required Required
Implementing folder objects Required Required
Implementing message objects Required Required
Read and nonread reports Required Required
Progress interface Required Required
Configuration interface Required Required
Supporting associated contents tables for form and view support Optional Optional
Sending messages with the message store provider Optional Required
Receiving messages with the message store provider Optional Required
Supporting message attachments Optional Optional
Supporting Rich Text Format for messages Optional Optional
Providing notifications Optional Optional
Supporting searches Optional Optional
Tightly coupled message store/transport providers Optional Optional
Non-reuse of entry identifiers Optional Optional

Many of the optional features can be advertised to MAPI and client applications by setting various flags in the message store object's PR_STORE_SUPPORT_MASK property. The required features do not have flags associated with them. PR_STORE_SUPPORT_MASK is required on message store, folder, and message objects.