Share via


MAPILOGON コールバック関数 (mapi.h)

[この関数の使用はお勧めしません。 以降のバージョンの Windows では変更または使用できない場合があります。]

MAPILogon 関数は、既定のメッセージ ストアとアドレス帳プロバイダーを読み込む単純な MAPI セッションを開始します。

構文

MAPILOGON Mapilogon;

ULONG Mapilogon(
  [in]           ULONG_PTR ulUIParam,
  [in, optional] LPSTR lpszProfileName,
  [in, optional] LPSTR lpszPassword,
  [in]           FLAGS flFlags,
                 ULONG ulReserved,
  [out]          LPLHANDLE lplhSession
)
{...}

パラメーター

[in] ulUIParam

ダイアログ ボックスが表示されている場合は、アプリケーション モーダルであることを示す親ウィンドウ ハンドルまたはゼロ。 ulUIParam パラメーターに親ウィンドウ ハンドルが含まれている場合は、HWND 型です (ULONG_PTRにキャストされます)。 呼び出し中にダイアログ ボックスが表示されない場合、 ulUIParam は無視されます。

[in, optional] lpszProfileName

null で終わるプロファイル名文字列へのポインター。256 文字以下に制限されます。 これは、ログオン時に使用するプロファイルです。 lpszProfileName パラメーターが NULL または空の文字列を指し、flFlags パラメーターがMAPI_LOGON_UIに設定されている場合、MAPILogon は、空の名前フィールドを持つログオン ダイアログ ボックスを表示します。

[in, optional] lpszPassword

null で終わる資格情報文字列へのポインター。256 文字以下に制限されます。 メッセージング システムがパスワード資格情報を必要としない場合、またはユーザーがパスワード資格情報を入力する必要がある場合は、 lpszPassword パラメーターを NULL にするか、空の文字列を指す必要があります。 ユーザーが資格情報を入力する必要がある場合、ログオン ダイアログ ボックスを表示できるようにするには、 flFlags パラメーターを MAPI_LOGON_UI に設定する必要があります。

[in] flFlags

オプション フラグのビットマスク。 次のフラグを設定できます。

意味
MAPI_FORCE_DOWNLOAD
を返す前に、すべてのユーザーのメッセージをダウンロードする必要があります。 MAPI_FORCE_DOWNLOAD フラグが設定されていない場合は、関数呼び出しが返された後、バックグラウンドでメッセージをダウンロードできます。
MAPI_NEW_SESSION
環境の共有セッションを取得するのではなく、新しいセッションの作成を試みる必要があります。 MAPI_NEW_SESSION フラグが設定されていない場合、 MAPILogon は既存の共有セッションを使用します。
MAPI_LOGON_UI
ログオン情報の入力をユーザーに求めるログオン ダイアログ ボックスが表示されます。 ユーザーがログオンを成功させるためにパスワードとプロファイル名を指定する必要がある場合は、MAPI_LOGON_UIを設定する必要があります。
MAPI_PASSWORD_UI
MAPILogon では、パスワードの入力のみを求めるメッセージが表示され、ユーザーがプロファイル名を変更できないようにする必要があります。 ログオン用に 2 つの異なるダイアログ ボックスを選択することが目的であるため、MAPI_PASSWORD_UIまたはMAPI_LOGON_UIを設定しないでください。

ulReserved

予約;は 0 である必要があります。

[out] lplhSession

単純な MAPI セッション ハンドル。

戻り値

この関数は、次のいずれかの値を返します。

リターン コード 説明
MAPI_E_FAILURE
ログオン中に 1 つ以上の未指定のエラーが発生しました。 セッション ハンドルが返されませんでした。
MAPI_E_INSUFFICIENT_MEMORY
続行するメモリが不足していました。 セッション ハンドルが返されませんでした。
MAPI_E_LOGIN_FAILURE
既定のログオンがなく、ログオン ダイアログ ボックスが表示されたときにユーザーが正常にログオンできませんでした。 セッション ハンドルが返されませんでした。
MAPI_E_TOO_MANY_SESSIONS
ユーザーが同時に開いているセッションが多すぎます。 セッション ハンドルが返されませんでした。
MAPI_E_USER_ABORT
ユーザーがログオン ダイアログ ボックスを取り消しました。 セッション ハンドルが返されませんでした。
SUCCESS_SUCCESS
呼び出しが成功し、簡易 MAPI セッションが確立されました。

注釈

MAPILogon 関数は、メッセージング システムとのセッションを開始し、後続の MAPI 呼び出しで使用できるハンドルを返して、ユーザー資格情報をメッセージング システムに明示的に提供します。 提示された資格情報がセッションの検証に失敗した場合にログオン ダイアログ ボックスの表示を要求するには、 flFlags パラメーターを MAPI_LOGON_UI に設定します。

クライアント アプリケーションは、lpszProfileName パラメーターの NULL 値、lpszPassword パラメーターの NULL 値、flFlags で MAPI_LOGON_UI フラグを設定しないことで MAPILogon を呼び出すことによって、既存のセッションをテストします。 既存のセッションがある場合、呼び出しは成功し、セッションの有効な LHANDLE を返します。 そうしない場合、呼び出しは失敗します。

要件

要件
対象プラットフォーム Windows
ヘッダー mapi.h

こちらもご覧ください

MAPILogoff

簡易 MAPI