共用方式為


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 應該只會提示輸入密碼,且不允許使用者變更配置檔名稱。 不應該設定MAPI_PASSWORD_UI或MAPI_LOGON_UI,因為意圖是在兩個不同的對話框之間進行選取以進行登入。

ulReserved

保留;必須是零。

[out] lplhSession

簡單的MAPI會話句柄。

傳回值

此函式會傳回下列其中一個值。

傳回碼 Description
MAPI_E_FAILURE
登入期間發生一或多個未指定的錯誤。 未傳回會話句柄。
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 值呼叫 MAPILogonlpszPassword 參數的 NULL 值,以及未在 flFlags 中設定MAPI_LOGON_UI旗標,來測試現有的會話。 如果有現有的會話,則呼叫會成功,並傳回會話的有效 LHANDLE。 否則,呼叫將會失敗。

規格需求

需求
目標平台 Windows
標頭 mapi.h

另請參閱

MAPILogoff

簡單MAPI