IMAPIFormContainer::InstallForm

適用対象: Outlook 2013 | Outlook 2016

フォームライブラリにフォームをインストールします。

HRESULT InstallForm(
  ULONG_PTR ulUIParam,
  ULONG ulFlags,
  LPCSTR szCfgPathName
);

パラメーター

ulUIParam

[in]このメソッドが表示するダイアログ ボックスまたはウィンドウの親ウィンドウへのハンドル。 ulUIParam パラメーターは、クライアント アプリケーションが ulFlags パラメーターでMAPI_DIALOG フラグを設定しない限り無視されます。 ulUIParam パラメーターは、MAPI_DIALOGも渡されない場合は NULL にすることができます。

ulFlags

[in]フォームのインストールを制御するフラグのビットマスク。 次のフラグを設定できます。

MAPI_DIALOG

進行状況情報を提供するダイアログ ボックスを表示するか、ユーザーに詳細を求めます。 このフラグが設定されていない場合、ダイアログ ボックスは表示されません。

MAPI_UNICODE

渡された文字列は Unicode 形式です。 MAPI_UNICODE フラグが設定されていない場合、文字列は ANSI 形式です。

MAPIFORM_INSTALL_OVERWRITEONCONFLICT

このフォームによって処理されるメッセージ クラスを処理する別のフォームが既に存在する場合は、既存のフォームをこのフォームに置き換えます。 MAPI_DIALOG フラグも存在する場合、このフラグは無視されます。

szCfgPathName

[in]フォームの構成ファイルへのパス。

戻り値

S_OK

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

MAPI_E_EXTENDED_ERROR

実装エラーが発生しました。 エラーに関連付けられている MAPIERROR 構造体を取得するには、 IMAPIFormContainer::GetLastError メソッドを呼び出します。

MAPI_E_USER_CANCEL

ユーザーは通常、ダイアログ ボックスの [キャンセル] ボタンをクリックして、フォームのインストールを 取り消 しました。

実装に関するメモ

フォーム ライブラリ プロバイダーは MAPIERROR 構造体を入力し、次のいずれかの条件が発生した場合はMAPI_E_EXTENDED_ERRORを返す必要があります。

  • 構成ファイルが見つかりません。

  • 構成ファイルは読み取り可能ではありません。

  • 構成ファイルが無効です。

呼び出し側への注意

クライアント アプリケーションは IMAPIFormContainer::InstallForm メソッドを呼び出して、フォームを特定のフォーム コンテナーにインストールします。 szCfgPathName パラメーターには、フォーム構成ファイルのパス (つまり、フォームとその実装を記述する .cfg 拡張子を持つファイル) が含まれている必要があります。 ulFlags パラメーターのフラグでは、次を指定します。

  • MAPI_DIALOG フラグが設定されている場合は、ユーザー インターフェイスが表示され、フォームをインストールしているユーザーがインストールの詳細を指定できるようになります。

  • MAPIFORM_INSTALL_OVERWRITEONCONFLICT フラグが設定されている場合、同じメッセージ クラスの以前のフォームは、インストールされているフォームに置き換えられます。 それ以外の場合、フォームのインストールは、現在のフォームの説明 (存在する場合) とマージされます。

  • MAPI_DIALOGが設定されている場合、MAPIFORM_INSTALL_OVERWRITEONCONFLICTは無視されます。

  • フラグ セットにMAPIFORM_INSTALL_OVERWRITEONCONFLICTがない場合は、マージが実行されることを意味します。 フォームの説明に現在存在しない .cfg ファイル内の新しいプラットフォームはインストールされ、他の変更は行われません。

  • MAPI_UNICODE フラグが設定されている場合、フォーム構成ファイルのパスは Unicode 文字列です。

InstallForm がMAPI_E_EXTENDED_ERRORを返す場合、クライアントは IMAPIFormContainer::GetLastError を呼び出す必要があります。また、返された MAPIERROR 構造体をチェックして、エラーを発生させた条件を判断する必要があります。

MFCMAPI リファレンス

MFCMAPI のサンプル コードについては、次の表を参照してください。

ファイル 関数 コメント
FormContainerDlg.cpp
CFormContainerDlg::OnInstallForm
MFCMAPI では、 IMAPIFormContainer::InstallForm メソッドを使用してフォーム コンテナーにフォームをインストールします。

関連項目

MAPIERROR

IMAPIFormContainer : IUnknown

[�R��h �T���v���Ƃ��� MFCMAPI