IMsgServiceAdmin2::CreateMsgServiceEx

適用対象: Outlook 2013 | Outlook 2016

現在のプロファイルにメッセージ サービスを追加し、新しくサービス UID を追加したことを返します。

HRESULT CreateMsgServiceEx(
  LPSTR lpszService,
  LPSTR lpszDisplayName,
  ULONG_PTR ulUIParam,
  ULONG ulFlags, 
  LPMAPIUID lpuidService
);

パラメーター

lpszService

[in]追加するメッセージ サービスの名前へのポインター。 このメッセージ サービス名は、MapiSvc.inf ファイルの [サービス] セクションに表示する必要があります。

lpszDisplayName

[in]追加するメッセージ サービスの表示名へのポインター。 メッセージ サービスが MapiSvc.inf ファイルのPR_DISPLAY_NAME (PidTagDisplayName) プロパティを設定している場合、lpszDisplayName パラメーターは無視されます。

ulUIParam

[in]このメソッドが表示するダイアログ ボックスまたはウィンドウの親ウィンドウへのハンドル。

ulFlags

[in]メッセージ サービスのインストール方法を制御するフラグのビットマスク。 次のフラグを設定できます。

MAPI_UNICODE

lpszService パラメーターと lpszDisplayName パラメーターは LPWSTR にキャストし、Unicode 文字列として解釈する必要があります。

SERVICE_NO_RESTART_WARNING

プロファイルに新しいメッセージ サービスを追加する場合、MAPI サブシステムは、さまざまな状況と条件に基づいて、多くの場合、この操作に Outlook の再起動が必要であると判断します。 SERVICE_NO_RESTART_WARNING フラグが含まれず、SERVICE_UI_ALWAYSフラグとSERVICE_UI_ALLOWEDフラグに基づいて UI が許可され、少なくとも 1 つのプロセスが現在のプロファイルにログオンしている場合、この関数は「これらの変更を有効にするには Outlook を再起動する必要があります」というメッセージを表示します。SERVICE_NO_RESTART_WARNING フラグを含めると、その警告メッセージの表示が抑制されます。

SERVICE_UI_ALLOWED

メッセージ サービス構成 UI は、必要に応じて許可されます。

SERVICE_UI_ALWAYS

メッセージ サービスには、その構成プロパティ シートが表示されます。

lpuidService

[out]追加されたメッセージ サービスの UID へのポインター。

戻り値

S_OK

�ʘb���������A�\�������l�܂��͒l���Ԃ���܂��B

MAPI_E_NOT_FOUND

メッセージ サービス名が MapiSvc.inf の [サービス] セクションにありません。

注釈

IMsgServiceAdmin2::CreateMsgServiceEx メソッドは、メッセージ サービスを現在のプロファイルに追加します。 CreateMsgServiceEx は 、メッセージ サービスのエントリ ポイント関数を呼び出して、サービス固有の構成タスクを実行します。 SERVICE_UI_ALLOWED フラグが ulFlags パラメーターに設定されている場合、インストールされているメッセージ サービスはプロパティ シートを表示して、ユーザーが設定を構成できるようにします。

MapiSvc.inf ファイルには、メッセージ サービスを構成するプロバイダーの一覧と、それぞれのプロパティが含まれています。 CreateMsgServiceEx は、最初にメッセージ サービスの新しいプロファイル セクションを作成し、そのサービスのすべての情報を MapiSvc.inf ファイルからプロファイルにコピーし、各プロバイダーの新しいセクションを作成します。

MapiSvc.inf からすべての情報がコピーされると、メッセージ サービスのエントリ ポイント関数 MSGSERVICEENTRYulContext パラメーターに設定されたMSG_SERVICE_CREATE値で呼び出されます。 CreateMsgServiceEx メソッドの ulFlags パラメーターに SERVICE_UI_ALLOWED フラグが設定されている場合は、メッセージ サービスのエントリ ポイント関数が呼び出されたときに ulUIParam パラメーターと ulFlags パラメーターの値も渡されます。 サービス プロバイダーは、ユーザーがメッセージ サービスを構成できるように、構成プロパティ シートを表示する必要があります。

呼び出し側への注意

CreateMsgServiceExlpuidService 引数が NULL でない場合は、プロファイルに追加されたメッセージ サービスのPR_SERVICE_UID (PidTagServiceUid) プロパティが、それがポイントする GUID で返されます。

lpuidService パラメーターの PR_SERVICE_UID プロパティの値を IMsgServiceAdmin::ConfigureMsgService メソッドに渡して、サービスを構成します。

注意

MAPI サブシステムの Microsoft Outlook 2010 の実装では、MAPI_UNICODEがサポートされていないため、使用されている場合は失敗します。

重要

IMsgServiceAdmin2 インターフェイスは、IMsgServiceAdmin インターフェイスを実装するのと同じオブジェクトによって公開され、Outlook 2003 以降、Outlook の MAPI サブシステムの実装を使用して使用できます。 その IID は次のように定義されます。 #if !defined(INITGUID) || defined(USES_IID_IMsgServiceAdmin2)DEFINE_OLEGUID(IID_IMsgServiceAdmin2,0x00020387, 0, 0);>ulFlags SERVICE_NO_RESTART_WARNINGは、現在使用しているダウンロード可能なヘッダー ファイルに定義されていない可能性があります。その場合は、次の値を使用してコードに追加できます。 #define SERVICE_NO_RESTART_WARNING 0x00000080

関連項目

IMsgServiceAdmin2 : IMsgServiceAdminMFCMAPI をコード サンプルとして使用する