MAPI 对象和接口概述
适用于:Outlook 2013 | Outlook 2016
MAPI 对象是从一个或多个 MAPI 接口或相关函数集合继承的 C++ 对象类或 C 数据结构。 C++ 开发人员将这些相关函数集合称为纯虚拟函数。 对于纯虚拟函数,MAPI 仅提供函数原型,而不提供实现。 预计客户端应用程序、服务提供程序或 MAPI 将通过创建从 接口继承并符合消息 API 的函数说明的对象类来提供此实现。 MAPI 接口只能通过继承的类实例化。
有许多不同的 MAPI 对象,每个对象继承自最终继承自 IUnknown 接口的接口。 IUnknown 是 COM) 基接口 (OLE 组件对象模型。 它为 MAPI 对象提供用于通信和控制的标准机制。 COM 规定对象实现者如何处理内存管理、参数管理和多线程处理等问题。 通过符合此模型,对象实现者遵守由对象中包含的接口指定的协定。
许多 MAPI 接口直接从 IUnknown 继承,而其他一些接口则通过另外两个基接口之一间接继承: IMAPIProp :用于属性管理的 IUnknown 和 IMAPIContainer:用于 文件夹和通讯簿访问的 IMAPIProp。 基接口从不作为独立的独立对象实现;它们始终作为其他对象(实现派生接口的对象)的一部分实现。
MAPI 定义多种类型的对象,每个对象由一个或多个 MAPI 组件实现。 由客户端实现的对象由 MAPI、服务提供商和自定义表单组件使用。 由服务提供商实现的对象通常由 MAPI 和客户端使用。 由表单库提供程序和表单服务器实现的对象由其他表单组件和客户端使用。