MAPISendMailHelper 函式 (mapiunicodehelp.h)
接受 Unicode 訊息資訊,並使用 MAPISendMailW 傳送訊息,或視需要將訊息轉換成 ANSI,並使用 MAPISendMail 傳送訊息。 在 Windows 8 和更新版本上:直接呼叫MAPISendMailW以傳送訊息。
語法
ULONG MAPISendMailHelper(
[in] LHANDLE lhSession,
[in] ULONG_PTR ulUIParam,
[in] lpMapiMessageW lpMessage,
[in] FLAGS flFlags,
[in] ULONG ulReserved
);
參數
[in] lhSession
簡單MAPI會話或零的句柄。
如果 lhSession 參數的值為零,MAPI 會登入使用者,並建立只在呼叫期間存在的會話。 此暫存會話可以是現有的共享工作階段或新的工作階段。 如有必要,會顯示登入對話方塊。
[in] ulUIParam
父視窗句柄或零。
如果 ulUIParam 參數的值為零且顯示對話框,對話框即為應用程式強制回應。 如果 ulUIParam 參數包含父視窗句柄,則其類型為 HWND (轉換成 ULONG_PTR) 。 如果在呼叫期間未顯示任何對話框, 則會忽略 ulUIParam 。
[in] lpMessage
MAPISendMailW 結構的指標,其中包含要傳送的訊息。
如果已註冊的郵件提供者要求訊息使用 ANSI 編碼, MAPISendMailHelper 會將此訊息轉換為 ANSI MapiMessage 結構,呼叫 MAPISendMail 來傳送訊息。
當您呼叫 函式時,請注意下列訊息結構成員的相關信息:
成員 | 備註 |
---|---|
lpFiles | 當郵件沒有檔案附件時,請將此成員設定為 NULL 。 |
lpszMessageType | 由未處理個人訊息的應用程式所使用。 如果您的應用程式處理個人訊息,請將 lpszMessageType 成員設定為 NULL ,或將它設定為指向空字串。 |
lpszSubject | NULL 值表示訊息的主旨沒有文字。 |
lpszNoteText | NULL 值表示訊息本文中沒有文字。 |
lpRecips | NULL 值表示沒有收件者。 此外,當此成員為 NULL 時, nRecipCount 成員必須是零。 |
nRecipCount | 值為零表示沒有收件者。 此外,當這個成員為零時, lpRecips 成員必須是 NULL。 |
如需函式如何處理收件者資訊的詳細資訊,請參閱處理MAPISendMailW中的收件者資訊。
[in] flFlags
選項旗標的位掩碼。 您可以設定下列旗標。
[in] ulReserved
保留;必須是零。
傳回值
此函式會傳回下列其中一個值。
傳回碼/值 | Description |
---|---|
|
收件者符合一個以上的收件者描述項結構,且未設定MAPI_DIALOG。 未傳送任何訊息。 |
|
找不到指定的附件。 未傳送任何訊息。 |
|
無法開啟指定的附件。 未傳送任何訊息。 |
|
收件者的類型不是MAPI_TO、MAPI_CC或MAPI_BCC。 未傳送任何訊息。 |
|
發生一或多個未指定的錯誤。 未傳送任何訊息。 |
|
記憶體不足,無法繼續。 未傳送任何訊息。 |
|
一或多個收件者無效或無法解析為任何位址。 |
|
沒有預設登入,而且使用者無法在顯示登入對話框時成功登入。 未傳送任何訊息。 |
|
訊息中的文字太大。 未傳送任何訊息。 |
|
檔案附件太多。 未傳送任何訊息。 |
|
收件者太多。 未傳送任何訊息。 |
|
指定MAPI_FORCE_UNICODE旗標,不支援 Unicode。
注意 只有在呼叫 MAPISendMailW 來傳送訊息時,才能傳回此值。
|
|
收件者未出現在通訊清單中。 未傳送任何訊息。 |
|
使用者取消了其中一個對話框。 未傳送任何訊息。 |
|
呼叫成功且已傳送訊息。 |
備註
如需MAPI傳送郵件函式的詳細資訊,請參閱 MAPISendMailW。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mapiunicodehelp.h |
Dll | Mapi32.dll |