MAPILogonEx
適用対象: Outlook 2013 | Outlook 2016
クライアント アプリケーションをメッセージング システムとのセッションにログに記録します。
プロパティ | 値 |
---|---|
ヘッダー ファイル: |
Mapix.h |
実装元: |
MAPI |
呼び出し元: |
クライアント アプリケーション |
HRESULT MAPILogonEx(
ULONG_PTR ulUIParam,
LPSTR lpszProfileName,
LPSTR lpszPassword,
FLAGS flFlags,
LPMAPISESSION FAR * lppSession
);
パラメーター
ulUIParam
[in]ログオン ダイアログ ボックスがモーダルであるウィンドウを処理します。 呼び出し中にダイアログ ボックスが表示されない場合、 ulUIParam パラメーターは無視されます。 このパラメーターは 0 にすることができます。
lpszProfileName
[in]ユーザーがログオンするときに使用するプロファイルの名前を含む文字列へのポインター。 この文字列は、64 文字に制限されています。
lpszPassword
[in]プロファイルのパスワードを含む文字列へのポインター。 lpszPassword パラメーターは NULL である必要があります。
flFlags
[in]ログオンの実行方法を制御するために使用されるフラグのビットマスク。 次のフラグを設定できます。
MAPI_ALLOW_OTHERS
共有セッションを返す必要があります。これにより、後のクライアントはユーザー資格情報を指定せずにセッションを取得できます。
MAPI_BG_SESSION
セッションにログオンし、バックグラウンドで任意の操作を実行します。 一般に、クライアントがバックグラウンド スレッドまたはフォアグラウンド スレッドに対して目立たない方法で別のプロセスで処理を行う場合は、MAPI_BG_SESSION フラグを使用して を呼び出す必要があります。 インデックス作成エンジンや、バックグラウンドの種類のアクセス用に個人用フォルダー ファイル (PST) を開くなどのクライアント アプリケーションは、MAPI_BG_SESSIONを使用する場所のいくつかの例です。MAPILogonEx。
MAPI_EXPLICIT_PROFILE
既定のプロファイルは使用しないでください。また、プロファイルを指定するにはユーザーが必要です。
MAPI_EXTENDED
拡張機能を使用してログオンします。 このフラグは常に設定する必要があります。
MAPI_FORCE_DOWNLOAD
を返す前に、すべてのユーザーのメッセージをダウンロードする必要があります。 MAPI_FORCE_DOWNLOAD フラグが設定されていない場合は、MAPILogonEx の呼び出しが返された後、メッセージをバックグラウンドでダウンロードできます。
MAPI_LOGON_UI
必要に応じて、ユーザーにログオン情報の入力を求めるダイアログ ボックスを表示する必要があります。 MAPI_LOGON_UI フラグが設定されていない場合、呼び出し元のクライアントはログオン ダイアログ ボックスを表示せず、ユーザーがログオンしていない場合はエラー値を返します。
MAPI_NEW_SESSION
共有セッションを取得する代わりに、新しい MAPI セッションを作成する必要があります。 MAPI_NEW_SESSION フラグが設定されていない場合、MAPILogonEx は lpszprofileName パラメーターが NULL でない場合でも、既存の共有セッションを使用します。
MAPI_NO_MAIL
MAPI は、MAPI スプーラーにセッションの存在を通知しないでください。 その結果、緊密に結合されたストアとトランスポート のペアを介する場合を除き、セッションでメッセージを送受信することはできません。 呼び出し元のクライアントは、エージェントとして機能している場合、構成作業を行う必要がある場合、またはクライアントが使用可能なメッセージ ストアを参照している場合に、このフラグを設定します。
MAPI_NT_SERVICE
呼び出し元は Windows サービスとして実行されています。 Windows サービスとして実行されていない呼び出し元は、このフラグを設定しないでください。サービスとして実行されている呼び出し元は、このフラグを設定する必要があります。
MAPI_SERVICE_UI_ALWAYS
MAPILogonEx は、プロファイル内の各メッセージ サービスの構成ダイアログ ボックスを表示する必要があります。 ダイアログ ボックスは、プロファイルが選択された後、メッセージ サービスがログオンする前に表示されます。 ログオン用の MAPI 共通ダイアログ ボックスには、同じ操作を要求するチェック ボックスも含まれています。
MAPI_TIMEOUT_SHORT
数秒以上ブロックされた場合、ログオンは失敗します。
MAPI_UNICODE
渡された文字列は Unicode 形式です。 MAPI_UNICODE フラグが設定されていない場合、文字列は ANSI 形式です。
MAPI_USE_DEFAULT
メッセージング サブシステムは、 lpszProfileName パラメーターの既定のプロファイルのプロファイル名に置き換える必要があります。 lpszProfileName が NULL または空でない限り、MAPI_EXPLICIT_PROFILE フラグは無視されます。
lppSession
[out]MAPI セッション インターフェイスへのポインターへのポインター。
戻り値
S_OK
ログオンに成功しました。
MAPI_E_LOGON_FAILED
MAPILogonEx へのパラメーターの 1 つ以上が無効であったか、既に開いているセッションが多すぎたため、ログオンが失敗しました。
MAPI_E_TIMEOUT
MAPI はミューテックスを介してすべてのログオンをシリアル化します。 これは、MAPI_TIMEOUT_SHORT フラグが設定され、別のスレッドがミューテックスを保持している場合に返されます。
MAPI_E_USER_CANCEL
ユーザーは通常、ダイアログ ボックスの [キャンセル] ボタンをクリックして操作を 取り消 しました。
注釈
MAPI クライアント アプリケーションは MAPILogonEx 関数を呼び出して、メッセージング システムとのセッションにログオンします。 MAPI 呼び出しで渡され、MAPI 呼び出しとの間で返されるすべての文字列は null で終わるので、呼び出し元のクライアントまたはプロバイダーのオペレーティング システムの現在の文字セットまたはコード ページで指定する必要があります。
MAPI_ALLOW_OTHERS フラグが設定された MapiLogonEx と呼ばれる既存の以前のセッションがあり、フラグ MAPI_NEW_SESSIONが設定されていない場合、 lpszProfileName パラメーターは無視されます。 lpszProfileName パラメーターが NULL または空の文字列を指していて、flFlags パラメーターに MAPI_LOGON_UI フラグが含まれている場合、MAPILogonEx 関数はプロファイル名の空のフィールドを持つログオン ダイアログ ボックスを生成します。
特定のプロファイルにログオンする場合、クライアントはプロファイル名に加えて、MAPI_NEW_SESSION フラグを MAPILogonEx に渡す必要があります。 それ以外の場合、別のクライアントがMAPI_ALLOW_OTHERSでログオンして共有セッションを確立した場合、クライアントは要求されたプロファイルではなく共有セッションにログオンします。
MAPI_EXPLICIT_PROFILE フラグは、 lpszProfileName が NULL または空の場合、MAPI_USE_DEFAULT フラグも存在しない限り、既定のプロファイル名を使用しません。
MAPI_NO_MAIL フラグには、MAPI スプーラーを使用しない場合に次の原因となるいくつかの効果があります。
このセッション中に MAPI スプーラーによってメッセージを送信または配信することはできません。 メッセージを送受信できるのは、緊密に結合されたストア プロバイダーとトランスポート プロバイダーだけです。
サーバー ベースのストアは、引き続きメッセージを送信または配信する可能性があります。
サーバー ベースのストアによって送信または配信されるメッセージは、フック プロバイダーによって処理されません。
トランスポートのメッセージごとのオプションと受信者ごとのオプションは使用できません。
ステータス テーブルにはトランスポート プロバイダーのエントリが含まれていません。また、ステータス オブジェクト (構成など) に依存するトランスポート機能は使用できません。
ステータス テーブルのメッセージ スプーラー行には、STATUS_FAILURE値が含まれています。
Piggybacked ログオンは許可されますが、これらのログオンでは、以前のログオンで状態オブジェクトの更新が受信されません。
サービスは常に MAPI_NO_MAIL フラグを使用してログオンする必要があります。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MAPIObjects.cpp |
CMapiObjects::MAPILogonEx |
MFCMAPI は MAPILogonEx メソッドを使用して MAPI にログオンします。 |