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 を使用して、オブジェクトのエントリ id を作成するために一意の識別子を登録するとします。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. コンテナーのオブジェクトには、階層テーブルおよび内容のテーブルをサポートしています。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. クライアントと通信できますアドレス帳、メッセージ ストア プロバイダーから間接的に、MAPI を使用して、 IAddrBook: IMAPIPropIMAPISession: 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. ただし、サポートして状態オブジェクトでは、すべてのサービス プロバイダーの操作を行い、状態テーブル内のプロパティを公開します。However, they do support a status object, as do all service providers, and publish its properties in the status table. トランスポート プロバイダーがするIXPLogon::AddressTypesメソッドを呼び出しますが、アドレス帳、メッセージ ストア プロバイダーは、それらのエントリの識別子を構築するための一意の識別子を登録するのにはIMAPISupport::SetProviderUIDメソッドを呼び出して、処理の特定のメッセージの配信のための一意の識別子とアドレスの種類を登録します。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.

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

  • ハンドルはシャット ダウンします。Handle shut down.

関連項目See also

MAPI の概念MAPI Concepts