IProviderAdmin::CreateProvider
適用対象: Outlook 2013 | Outlook 2016
サービス プロバイダーをメッセージ サービスに追加します。
HRESULT CreateProvider(
LPSTR lpszProvider,
ULONG cValues,
LPSPropValue lpProps,
ULONG_PTR ulUIParam,
ULONG ulFlags,
MAPIUID FAR * lpUID
);
パラメーター
lpszProvider
[in]追加するプロバイダーの名前へのポインター。
cValues
[in] lpProps パラメーターによって指されるプロパティ値の数。
lpProps
[in]追加するプロバイダーのプロパティを記述するプロパティ値配列へのポインター。
ulUIParam
[in]このメソッドが表示するダイアログ ボックスまたはウィンドウの親ウィンドウへのハンドル。 ulUIParam パラメーターは、ulFlags パラメーターに MAPI_DIALOG フラグが設定されている場合に使用されます。
ulFlags
[in]プロバイダーの追加を制御するフラグのビットマスク。 次のフラグを設定できます。
MAPI_DIALOG: 構成情報の入力を求めるダイアログ ボックスを表示します。
MAPI_UNICODE: プロバイダー名と文字列プロパティは Unicode 形式です。 MAPI_UNICODE フラグが設定されていない場合、これらの文字列は ANSI 形式です。
lpUID
[out]追加するプロバイダーを表す一意の識別子を含む MAPIUID 構造体へのポインター。
戻り値
S_OK
プロバイダーがメッセージ サービスに正常に追加されました。
MAPI_E_USER_CANCEL
ユーザーは通常、ダイアログ ボックスの [キャンセル] ボタンをクリックして操作を 取り消 しました。
注釈
IProviderAdmin::CreateProvider メソッドは、サービス プロバイダーをメッセージ サービスに追加します。 lpszProvider パラメーターは、メッセージ サービスに属するプロバイダーの名前を指す必要があります。 CreateProvider は、名前がサービス内のプロバイダーの名前と一致するかどうかを確認しません。渡された名前がサービス名と一致しない場合、呼び出しは成功しますが、結果は予測できません。 ほとんどのメッセージ サービスでは、プロファイルの使用中にプロバイダーを追加または削除することはできません。
サービス プロバイダーに関する利用可能なすべての情報が Mapisvc.inf ファイルからプロファイルに追加された後、 CreateProvider は ulContext パラメーターを MSG_SERVICE_PROVIDER_CREATE に設定してメッセージ サービスのエントリ ポイント関数を呼び出します。 CreateProvider メソッドの ulFlags パラメーターでMAPI_DIALOGが設定されている場合、ulUIParam パラメーターと ulFlags パラメーターの値もエントリ ポイント関数に渡されます。 これらの追加パラメーターを使用すると、サービス プロバイダーはプロパティ シートを表示して、ユーザーが構成設定を入力できるようになります。