Microsoft provides several programming interfaces for MAPI, so that developers working in a wide variety of development environments can use this common message exchange.
The following figure shows the CDO Library as a layer that is built on top of MAPI. This is similar to the way function calls to the Common Messaging Calls (CMC) interface are mapped to the underlying MAPI interfaces. It also demonstrates that the CDO Library is available to all the concerned languages, namely Microsoft® Visual Basic®, Visual Basic for Applications, and C/C++.
It is important to recognize that the CDO Library does not offer access to all of the features of MAPI. In particular, it is designed primarily for clients and is not suitable for service providers.
The following table summarizes the programming interfaces that Microsoft provides for MAPI.
Programming interface | Description |
---|---|
MAPI custom controls | User interface elements for Visual Basic version 3.0 developers. |
Simple MAPI | Functions for Visual Basic version 3.0 and later, Visual Basic for Applications, and C/C++ client developers that allow access to the Inbox (no access to MAPI properties). Most developers should probably use either CMC or MAPI rather than Simple MAPI. |
CDO Library | Programmable messaging objects for Visual Basic/Visual Basic for Applications and C/C++ developers. |
Common Messaging Calls (CMC) | Functions for C/C++ client developers; X.400 API Association (XAPIA) standard. |
MAPI | OLE Component Object Model (COM) interfaces for C/C++ developers. Full access to all MAPI programming interfaces. Implemented and called by clients, service providers, and MAPI itself. |