適用されます: OutlookApplies to: Outlook

メッセージング システムとのセッションに、クライアント アプリケーションを記録します。Logs a client application on to a session with the messaging system.

ヘッダー ファイル:Header file:
によって実装されます。Implemented by:
によって呼び出されます。Called by:
クライアント アプリケーションClient applications
  ULONG_PTR ulUIParam,
  LPSTR lpszProfileName,
  LPSTR lpszPassword,
  FLAGS flFlags,



[in][ログオン] ダイアログ ボックスはモーダル ウィンドウへのハンドルします。[in] Handle to the window to which the logon dialog box is modal. 呼び出し時にダイアログ ボックスが表示されない場合は、 _ulUIParam_パラメーターは無視されます。If no dialog box appears during the call, the ulUIParam parameter is ignored. このパラメーターは、0 にすることができます。This parameter can be zero.


[in]ユーザーがログオンしたときに使用するプロファイルの名前を含む文字列へのポインター。[in] Pointer to a string that contains the name of the profile to use when the user logs on. この文字列は、64 文字に制限されています。This string is limited to 64 characters.


[in]プロファイルのパスワードを含む文字列へのポインター。[in] Pointer to a string that contains the password of the profile. _LpszPassword_パラメーターは、NULL である必要があります。The lpszPassword parameter must be NULL.


[in]ログオンを実行する方法を制御するためのフラグのビットマスクです。[in] Bitmask of flags used to control how logon is performed. 次のフラグを設定することができます。The following flags can be set:


以降のクライアントのユーザーの資格情報を提供することがなくセッションを取得することができますが、共有セッションが返されます。The shared session should be returned, which allows later clients to obtain the session without providing any user credentials.


セッションにログオンし、バック グラウンドですべての操作を実行します。Log on to a session and run any operations in the background. 一般に、クライアントがバック グラウンド スレッドかフォア グラウンド スレッドに目障りではない方法で別のプロセスでの処理を実行しようとすると場合は、MAPI_BG_SESSION フラグを指定して呼び出す必要があります。In general, if a client intends to do processing on a background thread or in a separate process in a manner that is unobtrusive to the foreground thread, it should call with the MAPI_BG_SESSION flag. インデックス エンジンまたはバック グラウンドのアクセス権の種類の個人用フォルダー ファイル (PST) を開くなどのクライアント アプリケーションは、MAPI_BG_SESSION を使用する場所の例を示します。MAPILogonEx。A client application such as an indexing engine or opening a Personal Folders File (PST) for background type access are some examples of where to use MAPI_BG_SESSION.MAPILogonEx.


既定のプロファイルを使用しない必要があり、ユーザーはプロファイルを指定する要求する必要があります。The default profile should not be used and the user should be required to supply a profile.


拡張機能を使用してログオンします。Log on with extended capabilities. このフラグを設定することが常にする必要があります。This flag should always be set.


返す前にすべてのユーザーのメッセージをダウンロードするのには試行する必要があります。An attempt should be made to download all of the user's messages before returning. MAPI_FORCE_DOWNLOAD フラグが設定されていない場合、MAPILogonEx への呼び出しが返された後のメッセージはバック グラウンドでダウンロードできます。If the MAPI_FORCE_DOWNLOAD flag is not set, messages can be downloaded in the background after the call to MAPILogonEx returns.


ダイアログ ボックスは、ログオン情報を求めるメッセージが必要な場合に表示する必要があります。A dialog box should be displayed to prompt the user for logon information if required. MAPI_LOGON_UI フラグが設定されていないと呼び出し元のクライアント ログオンのダイアログ ボックスは表示されません、ユーザーがログオンしていない場合、エラー値を返します。When the MAPI_LOGON_UI flag is not set, the calling client does not display a logon dialog box and returns an error value if the user is not logged on.


共有セッションを取得するのではなく新しい MAPI セッションを作成する試行する必要があります。An attempt should be made to create a new MAPI session instead of acquiring the shared session. MAPI_NEW_SESSION フラグが設定されていない場合、MAPILogonEx は、 _lpszprofileName_パラメーターが NULL でない場合でも、既存の共有セッションを使用します。If the MAPI_NEW_SESSION flag is not set, MAPILogonEx uses an existing shared session even if the lpszprofileName parameter is not NULL.


MAPI は MAPI スプーラー セッションの存在を通知する必要があります。MAPI should not inform the MAPI spooler of the session's existence. メッセージの送信も密結合を保存 [トランスポートのペア以外のセッションで受信したことになります。The result is that no messages can be sent or received in the session except through a tightly coupled store and transport pair. 呼び出し側のクライアントは、構成作業を行う必要がある場合、エージェントとして動作しています。 クライアントが使用可能なメッセージ ストアを参照する場合、またはこのフラグを設定します。A calling client sets this flag if it is acting as an agent, if configuration work must be done, or if the client is browsing the available message stores.


呼び出し元は、Windows サービスとして実行しています。The caller is running as a Windows service. Windows サービスではこのフラグが設定されていない必要がありますように実行されていない呼び出し元サービスとして実行されている呼び出し元は、このフラグを設定する必要があります。Callers that are not running as a Windows service should not set this flag; callers that are running as a service must set this flag.


MAPILogonEx は、プロファイル内の各メッセージ サービスの構成] ダイアログ ボックスが表示されます。MAPILogonEx should display a configuration dialog box for each message service in the profile. プロファイルが選択されていますが、任意のメッセージの前にサービスがログオンした後、ダイアログ ボックスが表示されます。The dialog boxes are displayed after the profile has been chosen but before any message service is logged on. ログオンの MAPI のコモン ダイアログ ボックスには、同じ操作を要求する] チェック ボックスも含まれています。The MAPI common dialog box for logon also contains a check box that requests the same operation.


数秒以上ブロックされている場合、ログオンが失敗する必要があります。The logon should fail if blocked for more than a few seconds.


渡された文字列は、Unicode 形式では。The passed-in strings are in Unicode format. MAPI_UNICODE フラグが設定されていない場合は、ANSI 形式の文字列です。If the MAPI_UNICODE flag is not set, the strings are in ANSI format.


メッセージング サブシステムでは、 _lpszProfileName_パラメーターの既定のプロファイルのプロファイル名を置き換える必要があります。The messaging subsystem should substitute the profile name of the default profile for the lpszProfileName parameter. _LpszProfileName_が NULL または空でない場合、MAPI_EXPLICIT_PROFILE フラグは無視されます。The MAPI_EXPLICIT_PROFILE flag is ignored unless lpszProfileName is NULL or empty.


[out]MAPI セッションのインターフェイスへのポインターへのポインター。[out] Pointer to a pointer to the MAPI session interface.

�߂�lReturn value


ログオンに成功しました。The logon succeeded.


MAPILogonEx パラメーターの 1 つ以上無効であったためか、または存在しているセッションが多すぎます既にために、ログオンは成功すると、でした。The logon was unsuccessful, either because one or more of the parameters to MAPILogonEx were invalid or because there were too many sessions open already.


MAPI では、すべてのログオン ミュー テックスをシリアル化します。MAPI serializes all logons through a mutex. MAPI_TIMEOUT_SHORT フラグが設定された別のスレッドには、相互排他ロックが保持されている場合、この関数が返されます。This is returned if the MAPI_TIMEOUT_SHORT flag was set and another thread held the mutex.


ユーザー操作がキャンセルされました、通常ダイアログ ボックスで [キャンセル] ボタンをクリックするとします。The user canceled the operation, typically by clicking the Cancel button in a dialog box.


MAPI クライアント アプリケーションでは、メッセージング システムとのセッションにログオンする MAPILogonEx 関数を呼び出します。MAPI client applications call the MAPILogonEx function to log on to a session with the messaging system. 渡されして、MAPI の呼び出しから返されるすべての文字列は null で終わるが現在の文字セットで指定する必要がありますや、コードの呼び出し元のクライアントやプロバイダーのオペレーティング システムのページ。All strings that are passed in and returned to and from MAPI calls are null-terminated and must be specified in the current character set or code page of the calling client or provider's operating system.

フラグ MAPI_NEW_SESSION が設定されていない場合、MAPI_ALLOW_OTHERS フラグを設定して [MapiLogonEx と呼ばれる既存の以前のセッションがある場合、 _lpszProfileName_パラメーターは無視されます。The lpszProfileName parameter is ignored if there is an existing previous session that called MapiLogonEx with the MAPI_ALLOW_OTHERS flag set and if the flag MAPI_NEW_SESSION is not set. _LpszProfileName_パラメーターが NULL または空の文字列、および_flFlags_パラメーターへのポインターには、MAPI_LOGON_UI フラグが含まれています、MAPILogonEx 関数は、プロファイル名を空のフィールドを持つログオン] ダイアログ ボックスを生成します。If the lpszProfileName parameter is NULL or points to an empty string, and the flFlags parameter includes the MAPI_LOGON_UI flag, the MAPILogonEx function generates a logon dialog box that has an empty field for the profile name.

特定のプロファイルにログオンしていると、クライアントする必要がありますフラグを渡す MAPI_NEW_SESSION MAPILogonEx にプロファイル名だけでなく。When logging on to a specific profile, a client should pass the MAPI_NEW_SESSION flag into MAPILogonEx in addition to the profile name. それ以外の場合場合、別のクライアントは、MAPI_ALLOW_OTHERS にログオンし、共有セッションを確立しましたが、クライアントがログオンするプロファイルを要求するのではなく共有セッションに。Otherwise, if another client has established a shared session by logging on with MAPI_ALLOW_OTHERS, the client will be logged on to the shared session instead of to the profile requested.

MAPI_EXPLICIT_PROFILE フラグ_lpszProfileName_が NULL の場合に使用する既定のプロファイル名が発生したりしない空の場合を除き、MAPI_USE_DEFAULT のフラグもあります。The MAPI_EXPLICIT_PROFILE flag does not cause the default profile name to be used when lpszProfileName is NULL or empty unless the MAPI_USE_DEFAULT flag is also present.

MAPI_NO_MAIL フラグには、MAPI スプーラーを使用するいないと、次が発生するいくつかの効果があります。The MAPI_NO_MAIL flag has several effects that cause the following when not using the MAPI spooler:

  • メッセージの送信もこのセッション中に、MAPI スプーラーによって配信されることができます。No messages can be sent or delivered by the MAPI spooler during this session. 唯一の密結合ストアおよびトランスポート プロバイダーは、送信し、メッセージを配信できます。Only tightly coupled store and transport providers can send and deliver messages.

  • サーバー ベース ストアの送信またはメッセージの配信可能性がありますもします。Server based stores might still send or deliver messages.

  • フック プロバイダーによって送信またはサーバー ベースのストアに配信されるメッセージは処理されません。Messages sent or delivered by server based stores are not processed by any hook providers.

  • メッセージと受信者ごとのトランスポート オプションはご利用いただけません。Per-message and per-recipient options for transports are not available.

  • ステータス テーブルに、トランスポート プロバイダーのエントリが含まれていないと、(構成) などのオブジェクトの状態に依存する任意のトランスポート機能を利用できません。The status table does not contain entries for transport providers, and any transport functionality dependent on status objects (such as configuration) is not available.

  • メッセージ スプーラー テーブル内の行ステータスにはには、STATUS_FAILURE の値が含まれています。The message spooler row in the status table contains the STATUS_FAILURE value.

  • 上乗せのログオンが許可されるが、これらのログオン状態のオブジェクトの更新を受信する前のログオンは発生しません。Piggybacked logons are allowed, but those logons do not cause the previous logon to receive status object updates.

サービスは、MAPI_NO_MAIL フラグを使用してをログオンする必要があります常にします。A service should always log on using the MAPI_NO_MAIL flag.


MFCMAPI �T���v�� �R�[�h�ł́A���̕\��Q�Ƃ��Ă��������BFor MFCMAPI sample code, see the following table.

�t�@�C��File �֐�Function �R�����gComment
MFCMAPI では、MAPILogonEx メソッドを使用して、MAPI にログオンします。MFCMAPI uses the MAPILogonEx method to log on to MAPI.

関連項目See also



[�R��h �T���v���Ƃ��� MFCMAPIMFCMAPI as a Code Sample