アドレス帳プロバイダーエントリ ポイント関数の実装

適用対象: Outlook 2013 | Outlook 2016

クライアント アプリケーションが MAPILogonEx を呼び出して、アドレス帳プロバイダーを含むプロファイルを使用してセッションを開始すると、MAPI はプロバイダーとそのプロファイルの一部である他のすべてのプロバイダーを読み込みます。 MAPI は、プロファイルを調べることによって、プロバイダーのエントリ ポイント関数の名前を学習します。 この関数は DLL エントリ ポイント関数と同じではないことに注意してください。Win32 ドキュメントの DllMain のドキュメントを参照してください。

いくつかのエントリがあり、その一部は mapisvc.inf 構成ファイルに含まれている必要があります。これは、すべてのアドレス帳プロバイダーのプロファイル セクションに含まれています。 次の表に、これらのプロファイル セクションエントリと、mapisvc.inf ファイルに含める必要があるかどうかを示します。

プロファイル セクションエントリ mapisvc.inf 要件
PR_DISPLAY_NAME= 文字列
省略可能
PR_PROVIDER_DISPLAY= string
必須
PR_PROVIDER_DLL_NAME= DLL ファイル名
必須
PR_RESOURCE_TYPE= long
必須
PR_RESOURCE_FLAGS= ビットマスク
省略可能

アドレス帳プロバイダーは、プロファイル セクションの IMAPIProp::SetProps メソッドを呼び出すか、MAPISVC.INF を変更することで間接的にこの情報をプロファイルに配置できます。 プロファイルは、MAPISVC の関連情報を使用して作成されます。選択したサービス プロバイダーまたはメッセージ サービスの INF。 MAPISVC のorganizationと内容の詳細については、INF については、「MapiSvc.inf のファイル形式」を参照してください。

アドレス帳プロバイダーの DLL エントリ ポイント関数の名前は ABProviderInit でなければならず、 ABProviderInit プロトタイプに準拠している必要があります。 プロバイダーの DLL エントリ ポイント関数で次のタスクを実行します。

  • サービス プロバイダー インターフェイス (SPI) のバージョンを確認して、MAPI でアドレス帳プロバイダーが使用しているバージョンと互換性のあるバージョンが使用されていることを確認します。

  • アドレス帳プロバイダー オブジェクトをインスタンス化します。

この関数で MAPIInitialize または MAPIUninitialize を呼び出さないでください。

DLL エントリ ポイント関数は、プロバイダー オブジェクトをインスタンス化し、MAPI にそのオブジェクトへのポインターを返します。