MAPI サービスプロバイダーMAPI Service Providers

適用対象: Outlook 2013 | Outlook 2016Applies to: Outlook 2013 | Outlook 2016

サービスプロバイダーには、次の3つの一般的な種類があります。There are three common types of service providers:

  • アドレス帳プロバイダー。Address book providers.

  • メッセージストアプロバイダー。Message store providers.

  • トランスポートプロバイダー。Transport providers.

アドレス帳とメッセージストアプロバイダーには多くの類似点があります。Address book and message store providers have many similarities. これらのユーザーは、オブジェクトのエントリ識別子を作成するために使用する、MAPI で一意の識別子を登録します。They register a unique identifier with MAPI that they use for constructing entry identifiers for their objects. クライアントがアクセスおよび操作できるオブジェクトおよびプロパティの階層を提供します。They provide a hierarchy of objects and properties that clients can access and manipulate. container オブジェクトについては、階層テーブルと contents テーブルをサポートしています。For their container objects, they support a hierarchy table and a contents table. セッション中に発生した変更をクライアントに通知できるように、これらのテーブルに対するイベント通知と、必要に応じて個々のオブジェクトをサポートします。They support event notification on these tables and optionally on individual objects so that clients can be informed of changes that occur during the session. 操作が長くなると、操作の状態をユーザーに通知するための進行状況インジケーターを表示することができます。When operations become lengthy, they can display a progress indicator to inform the user of the operation's status. クライアントは、 IAddrBook: imapipropimapiprop: IUnknownインターフェイスを使用するか、またはサービスプロバイダーインターフェイスのいずれかを直接使用して、アドレス帳とメッセージストアプロバイダーとの間で間接的に通信できます。次の表。Clients can communicate with address book and message store providers either indirectly through MAPI by using the IAddrBook : IMAPIProp and IMAPISession : IUnknown interfaces or directly by using one of the service provider interfaces in the following table.

アドレス帳プロバイダーインターフェイスAddress book provider interfaces メッセージストアプロバイダーインターフェイスMessage store provider interfaces
IABContainer : IMAPIContainerIABContainer : IMAPIContainer
IMsgStore: IMAPIPropIMsgStore : IMAPIProp
IDistList : IMAPIContainerIDistList : IMAPIContainer
IMAPIFolder : IMAPIContainerIMAPIFolder : IMAPIContainer
IMailUser : IMAPIPropIMailUser : IMAPIProp
IMessage: IMAPIPropIMessage : IMAPIProp

IAttach : IMAPIPropIAttach : IMAPIProp

トランスポートプロバイダーは、MAPI およびクライアントとの通信と同じ方法で、アドレス帳とメッセージストアプロバイダーとは異なります。Transport providers differ from address book and message store providers in the way they communicate with MAPI and with clients. 通常、トランスポートプロバイダーは、通信を開始するのではなく、MAPI が情報を求めるメッセージを表示するのを待ちます。Transport providers typically wait for MAPI to prompt them for information rather than initiate communication. 他のプロバイダーとは異なり、トランスポートプロバイダーはクライアントによってよくアクセスされるさまざまなオブジェクトおよびテーブルをサポートしていません。Unlike the other providers, transport providers do not support a variety of objects and tables that are commonly accessed by clients. ただし、すべてのサービスプロバイダーと同様に status オブジェクトをサポートし、そのプロパティを状態テーブルに公開します。However, they do support a status object, as do all service providers, and publish its properties in the status table. アドレス帳およびメッセージストアプロバイダーは、エントリ id を構築するための一意の識別子を登録するためにimapisupport:: setprovideruidメソッドを呼び出します。トランスポートプロバイダーは、 IXPLogon:: AddressTypesメソッドを呼び出します。特定のメッセージを配信する責任を負うために、一意の識別子およびアドレスの種類を登録します。Whereas address book and message store providers call the IMAPISupport::SetProviderUID method to register unique identifiers for constructing their entry identifiers, transport providers call the IXPLogon::AddressTypes method to register unique identifiers, as well as address types for assuming responsibility for the delivery of particular messages.

サービスプロバイダーは3つのヘッダーファイル (1 つのパブリックヘッダーファイルと2つの内部ファイル) を持っている必要があります。Your service provider should have three header files: one public header file and two internal files. 構成用にパブリックヘッダーファイルを使用し、プロパティとその値を記録します。Use the public header file for configuration and for documenting properties and their values. 必要なすべてのパブリック MAPI ヘッダーを内部ヘッダーファイルのいずれかに含めることができます。このヘッダーファイルは、すべてのサービスプロバイダーのソースファイルに含まれている必要があります。Include in one of the internal header files all the necessary public MAPI headers; this header file should be included in all of your service provider source files. 他の内部ファイルを使用して、リソース識別子を定義します。Use the other internal file to define resource identifiers.

アドレス帳、メッセージストア、およびトランスポートプロバイダーは、次のタスクを実行します。Address book, message store, and transport providers perform the following tasks:

  • エントリポイント関数を指定します。Supply an entry point function.

  • ログオンと初期化を処理するプロバイダーとログオンオブジェクトを指定します。Supply a provider and logon object to handle logon and initialization.

  • プロバイダーがメッセージサービスに属している場合は、メッセージサービスエントリポイント関数を指定します。If the provider belongs to a message service, supply a message service entry point function.

  • プロパティシートを実装することで、構成をサポートします。Support configuration by implementing a property sheet.

  • status オブジェクトを実装し、状態テーブルをサポートします。Implement a status object and support the status table.

  • シャットダウンを処理します。Handle shut down.

関連項目See also

MAPI の概念MAPI Concepts