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 からすべての情報がコピーされると、メッセージ サービスのエントリ ポイント関数 MSGSERVICEENTRY が ulContext パラメーターに設定された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 をコード サンプルとして使用する