About the MAPI Subsystem

The MAPI subsystem consists of the following parts:

The MAPI programming interface is based on a powerful, object-oriented interface that subscribes to the OLE Component Object Model, a model for object interaction. MAPI defines a set of objects that share structure and behavior, enabling developers to create and use objects in a consistent manner. There is a large feature set available, enabling client developers, for example, to provide their users with access to message or recipient properties and customized views of message and address book information. Although all types of client applications can use the object-oriented MAPI interface, typically only messaging-based applications and service providers need its power and complexity. A simpler, more restrictive API is usually sufficient for messaging-aware and messaging-enabled applications.

To support a wider audience of client application developers, there are three other API sets on top of MAPI: Common Messaging Calls (CMC), Simple MAPI, and the Active Messaging Library. Simpler to use and understand, these API sets provide messaging functionality through either C standard function calls or Visual Basic. Client application developers can choose the API that is most suitable for their needs.

The following table describes each of the interfaces available to client applications.

Client interface Description
Simple MAPI Supports existing messaging-enabled and messaging-aware applications. For C, C++, or Visual Basic client applications.
CMC Supports cross-platform applications written in C or C++.
Active Messaging Library Supports Automation controllers written in C, C++, Visual Basic, or Visual Basic for Applications.
MAPI Supports full-featured client applications and service providers written in C or C++.

The following illustration shows how Simple MAPI, CMC, and the Active Messaging Library are layered between MAPI and client applications. Messaging-based clients call directly into MAPI while messaging-aware and messaging-enabled clients call into Simple MAPI, the Active Messaging Library or CMC. Calls to these higher level APIs are forwarded to MAPI.