サービス プロバイダー構成の検証
適用対象: Outlook 2013 | Outlook 2016
ログオン方法 (IABProvider::Logon、 IMSProvider::Logon、または IXPProvider::TransportLogon) は、プロバイダーの構成を確認する必要があります。 これには、完全な操作に必要なすべてのプロパティが正しく設定されていることを確認する必要があります。 プロバイダーごとに異なる数のプロパティが必要です。構成は、プロバイダーと、許可するユーザー操作の程度によって異なります。 一部のサービス プロバイダーは、プロファイルに必要なすべてのプロパティを保持します。
他のサービス プロバイダーは、プロファイルにプロパティの部分的なセットを保持し、ユーザーに欠損値の入力を求めます。 それでも、他のプロバイダーは、構成に必要なすべての情報を提供するためにユーザーに依存して、プロファイルにプロパティをまったく格納しません。
プロファイルに格納されているプロパティを取得するには
IMAPISupport::OpenProfileSection を呼び出し、プロバイダーの MAPIUID を入力パラメーターとして渡します。
プロファイル セクションの IMAPIProp::GetProps または IMAPIProp::GetPropList メソッドを呼び出して、個々のプロパティまたはプロパティ リストを取得します。
ユーザー情報からプロパティを設定するには
MAPI が表示を禁止するフラグを設定していない場合は、プロパティ シートを表示します。 次のフラグは、ユーザー インターフェイスを表示できないことを示します。
Flag | サービス プロバイダー |
---|---|
AB_NO_DIALOG |
アドレス帳プロバイダー |
LOGON_NO_DIALOG |
トランスポート プロバイダー |
MDB_NO_DIALOG |
メッセージ ストア プロバイダー |
プロバイダーがすべての構成プロパティをプロファイルに格納せず、ユーザーの操作を必要とし、MAPI がダイアログ ボックス抑制フラグの 1 つをログオン メソッドに渡す場合は、MAPI_E_UNCONFIGUREDを返します。 また、ダイアログ抑制フラグが設定されていないが、ユーザーが必要なすべての情報を指定していない場合も、このエラーが返されます。
サービス プロバイダーがログオン メソッドをMAPI_E_UNCONFIGUREDで失敗すると、MAPI はエントリ ポイント関数をもう一度呼び出します。 2 回目の呼び出しで情報を見つけられない場合、サービス プロバイダーの重要度によっては、セッションが終了する可能性があります。
次の図は、サービス プロバイダーのログオン 方法の構成に必要なロジックを示しています。
構成検証のフローチャート