カスタム コードを使用してプロファイルを作成する
適用対象: Outlook 2013 | Outlook 2016
プロファイルを作成するコードを記述する場合は、プロファイル エントリを注文する方法と、各エントリに必要な情報の種類と量を理解していることを確認してください。 プロファイル内のエントリの順序付けの影響については、「 MAPI プロファイル」を参照してください。
C または C++ コードを使用してプロファイルを作成するには
各メッセージ サービスのヘッダー ファイルを読み取ります。 構成する必要があるプロパティと、使用する値について理解します。
MAPIAdminProfiles 関数を呼び出して、IProfAdmin インターフェイス ポインターを取得します。
IProfAdmin::CreateProfile を呼び出してプロファイルを作成します。 MAPISVC の [既定のサービス] セクションに表示されているメッセージ サービスを使用してプロファイルを作成する場合。INF ファイルで、MAPI_DEFAULT_SERVICE フラグを設定します。 ユーザーが構成情報を入力できるようにする場合は、MAPI_DIALOG フラグを設定します。 必要なすべての情報が MAPISVC を介して使用できるわけではない場合は、このフラグを設定してください。INF ファイル。 CreateProfile は 、 ulContext パラメーターとして設定されたMSG_SERVICE_CREATEを使用して、プロファイルに追加する各メッセージ サービスのエントリ ポイント関数を呼び出します。
IProfAdmin::AdminServices を呼び出して、メッセージ サービス管理オブジェクトを取得します。
メッセージ サービス管理オブジェクトを使用して、メッセージ サービスをプロファイルに追加します。 追加するメッセージ サービスごとに、次の手順を実行します。
IMsgServiceAdmin::CreateMsgService メソッドを呼び出して、新しいメッセージ サービスを作成します。
IMsgServiceAdmin::ConfigureMsgService を呼び出し、先ほど作成したサービスの MAPIUID 構造体とその構成プロパティを持つプロパティ値配列を渡します。
新しく追加されたサービスの識別子 ( PR_SERVICE_UID (PidTagServiceUid) プロパティ) を取得するには、 IMsgServiceAdmin::GetMsgServiceTable を呼び出してメッセージ サービス テーブルにアクセスし、メッセージ サービスを表す行を検索します。 テーブルの最後の行は、最後に追加されたメッセージ サービスを表します。
新しいプロファイルを一時的にするには、ログオン直後に IProfAdmin::D eleteProfile メソッドを呼び出します。 DeleteProfile は、新しいプロファイルを削除済みとしてマークし、セッションの期間中使用できるようにします。 セッションのプロファイル テーブルには含まれないため、他のクライアントはそれを使用できません。