共用方式為


MAPIDETAILS 回呼函式 (mapi.h)

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

MAPIDetails 函式會顯示一個對話方塊,其中包含所選通訊清單專案的詳細資料。

語法

MAPIDETAILS Mapidetails;

ULONG Mapidetails(
  [in] LHANDLE lhSession,
  [in] ULONG_PTR ulUIParam,
  [in] lpMapiRecipDesc lpRecip,
  [in] FLAGS flFlags,
       ULONG ulReserved
)
{...}

參數

[in] lhSession

代表簡單 MAPI 會話或零的會話控制碼。 如果 lhSession 參數的值是零,MAPI 會登入使用者,並建立只在呼叫期間存在的會話。 此暫存會話可以是現有的共用會話或新的會話。 如果使用者需要其他資訊才能順利完成登入,則會顯示對話方塊。

[in] ulUIParam

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

[in] lpRecip

要顯示詳細資料的收件者指標。 MAPIDetails 會忽略這個 MapiRecipDesc 結構的所有成員,但 ulEIDSizelpEntryID 成員除外。 如果 ulEIDSize 的值不是零, MAPIDetails 會解析收件者專案。 如果 ulEIDSize 的值是零, MAPIDetails 會 傳回MAPI_E_AMBIGUOUS_RECIP值。

[in] flFlags

選項旗標的位元遮罩。 您可以設定下列旗標。

意義
MAPI_AB_NOMODIFY
呼叫端要求對話方塊為唯讀,禁止變更。 MAPIDetails 可能或可能不接受要求。
MAPI_LOGON_UI
應該顯示對話方塊,以提示使用者視需要登入。 未設定MAPI_LOGON_UI旗標時,用戶端應用程式不會顯示登入對話方塊,而且如果使用者未登入,則會傳回錯誤值。
MAPI_NEW_SESSION
應該嘗試建立新的會話,而不是取得環境的共用會話。 如果未設定MAPI_NEW_SESSION旗標, MAPIDetails 會 使用現有的共用會話。

ulReserved

保留;必須是零。

傳回值

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

傳回碼 描述
MAPI_E_AMBIGUOUS_RECIPIENT
無法顯示對話方塊,因為lpRecips參數所指向之結構的ulEIDSize成員為零。
MAPI_E_FAILURE
發生一或多個未指定的錯誤。 未顯示對話方塊。
MAPI_E_INSUFFICIENT_MEMORY
記憶體不足,無法繼續。 未顯示對話方塊。
MAPI_E_INVALID_RECIPS
lpRecip參數中指定的收件者未知,或收件者具有無效的 ulEIDSize值。 未顯示對話方塊。
MAPI_E_LOGIN_FAILURE
沒有預設登入,而且使用者無法在顯示登入對話方塊時成功登入。 未顯示對話方塊。
MAPI_E_NOT_SUPPORTED
基礎傳訊系統不支援此作業。
MAPI_E_USER_ABORT
使用者已取消登入對話方塊或詳細資料對話方塊。
SUCCESS_SUCCESS
呼叫成功,並顯示詳細資料對話方塊。

備註

MAPIDetails函式會顯示一個對話方塊,顯示特定通訊清單專案的詳細資料。 顯示名稱和位址是對話方塊中顯示的最小屬性;視通訊錄提供者而定,可以顯示詳細資訊。 無法隱藏詳細資料對話方塊,但呼叫端可以要求它是唯讀或可修改的。

只能針對已解析的地址清單專案顯示詳細資料。 如果MapiRecipDesc結構的ulEIDSize成員值為非零,就會解析專案。 當 MAPIAddressMAPIResolveName 函式傳回專案時,會解析這些專案,而因為是讀取郵件的收件者。

需求

   
目標平台 Windows
標頭 mapi.h

另請參閱

MAPIAddress

MAPILogon

MAPIResolveName

MapiRecipDesc

簡單 MAPI