共用方式為


MAPIRESOLVENAME 回呼函式 (mapi.h)

[不建議使用此函式。 它可能會在後續版本的 Windows 中改變或無法使用。

MAPIResolveName 函式會將使用者輸入的郵件收件者名稱轉換成明確的通訊清單專案。

語法

MAPIRESOLVENAME Mapiresolvename;

ULONG Mapiresolvename(
  [in]  LHANDLE lhSession,
  [in]  ULONG_PTR ulUIParam,
  [in]  LPSTR lpszName,
  [in]  FLAGS flFlags,
        ULONG ulReserved,
        lpMapiRecipDesc *lppRecip
)
{...}

參數

[in] lhSession

表示簡單MAPI會話或零的句柄。 如果 lhSession 參數的值是零,MAPI 會登入使用者,並建立只在呼叫期間存在的會話。 此暫存會話可以是現有的共享工作階段或新的工作階段。 如有必要,會顯示登入對話方塊。

[in] ulUIParam

父視窗句柄或零,表示如果顯示對話框,則為應用程式強制回應。 如果 ulUIParam 參數包含父視窗句柄,則其類型為 HWND (轉換成 ULONG_PTR) 。 如果未在呼叫期間顯示任何對話框, 則會忽略 ulUIParam

[in] lpszName

要解析之名稱的指標。

[in] flFlags

選項旗標的位掩碼。 您可以設定下列旗標。

意義
MAPI_AB_NOMODIFY
呼叫端要求對話框為唯讀,禁止變更。 MAPIResolveName 如果未設定MAPI_DIALOG,則會忽略此旗標。
MAPI_DIALOG
應該顯示名稱解析的對話框。 如果未設定此旗標,且無法解析名稱, MAPIResolveName 會傳回MAPI_E_AMBIGUOUS_RECIPIENT值。
MAPI_LOGON_UI
應該顯示對話框,以提示用戶視需要登入。 未設定MAPI_LOGON_UI旗標時,用戶端應用程式不會顯示登入對話方塊,而且如果使用者未登入,則會傳回錯誤值。
MAPI_NEW_SESSION
應該嘗試建立新的會話,而不是取得環境的共享會話。 如果未設定MAPI_NEW_SESSION旗標, MAPIResolveName 會使用現有的共享會話。

ulReserved

保留;必須是零。

lppRecip

傳回值

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

傳回碼 Description
MAPI_E_AMBIGUOUS_RECIPIENT
要求的收件者尚未或無法解析為唯一的通訊清單專案。
MAPI_E_UNKNOWN_RECIPIENT
收件者無法解析為任何位址。 收件者可能不存在或可能未知。
MAPI_E_FAILURE
發生一或多個未指定的錯誤。 名稱未解析。
MAPI_E_INSUFFICIENT_MEMORY
記憶體不足,無法繼續。 名稱未解析。
MAPI_E_LOGIN_FAILURE
沒有預設登入,而且使用者無法在顯示登入對話框時成功登入。 名稱未解析。
MAPI_E_NOT_SUPPORTED
基礎傳訊系統不支援此作業。
MAPI_E_USER_ABORT
使用者取消了其中一個對話框。 名稱未解析。
SUCCESS_SUCCESS
呼叫成功,且名稱已解析。

備註

MAPIResolveName 函式會將郵件收件者的名稱解析為使用者輸入) 明確通訊清單專案 (,並視需要選擇性地提示用戶選擇可能的專案。 系統會配置並傳回包含完整解析專案相關信息的收件者描述項結構。 呼叫端應該藉由呼叫MAPIFreeBuffer函式,在某個時間點釋放這個MapiRecipDesc結構。 如果 MAPIResolveName 傳回錯誤值,就不需要解除分配 MAPIFreeBuffer的記憶體。

規格需求

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

另請參閱

MAPIFreeBuffer

MAPILogon

MapiRecipDesc

簡單MAPI