MAPI オブジェクトとインターフェイスの概要
適用対象: Outlook 2013 | Outlook 2016
MAPI オブジェクトは、1 つ以上の MAPI インターフェイスから継承された C++ オブジェクト クラスまたは C データ構造、または関連する関数のコレクションです。 これらの関連関数のコレクションは、純粋な仮想関数として C++ 開発者に知られています。 純粋な仮想関数の場合、MAPI は関数プロトタイプのみを提供し、実装は提供しません。 クライアント アプリケーション、サービス プロバイダー、または MAPI は、インターフェイスから継承し、Messaging API の関数の説明に準拠するオブジェクト クラスを作成することで、この実装を提供することが期待されます。 MAPI インターフェイスは、継承されたクラスを介してのみインスタンス化できます。
さまざまな MAPI オブジェクトがあります。各オブジェクトは、最終的に IUnknown インターフェイスから継承されるインターフェイスから継承します。 IUnknown は、OLE コンポーネント オブジェクト モデル (COM) の基本インターフェイスです。 MAPI オブジェクトには、通信と制御のための標準的なメカニズムが用意されています。 COM は、オブジェクト実装者がメモリ管理、パラメーター管理、マルチスレッドなどの問題を処理する方法を決定します。 このモデルに準拠することで、オブジェクト実装者は、オブジェクトに含まれるインターフェイスによって指定されたコントラクトに準拠します。
多くの MAPI インターフェイスは IUnknown から直接継承されますが、他の 2 つの基本インターフェイスの 1 つを介して間接的に継承されます。 IMAPIProp: プロパティ管理の場合は IUnknown 、 IMAPIContainer : フォルダーとアドレス帳へのアクセスには IMAPIProp。 基本インターフェイスは、独立したスタンドアロン オブジェクトとして実装されることはありません。これらは常に、派生インターフェイスを実装するオブジェクトである他のオブジェクトの一部として実装されます。
MAPI は、1 つ以上の MAPI コンポーネントによって実装されるさまざまな種類のオブジェクトを定義します。 クライアントによって実装されるオブジェクトは、MAPI、サービス プロバイダー、およびカスタム フォーム コンポーネントによって使用されます。 サービス プロバイダーによって実装されるオブジェクトは、通常、MAPI とクライアントによって使用されます。 フォーム ライブラリ プロバイダーとフォーム サーバーによって実装されたオブジェクトは、他のフォーム コンポーネントとクライアントによって使用されます。