共用方式為


IMAPIFolder::CreateMessage

適用於:Outlook 2013 |Outlook 2016

建立新的訊息。

HRESULT CreateMessage(
  LPCIID lpInterface,
  ULONG ulFlags,
  LPMESSAGE FAR * lppMessage
);

參數

lpInterface

[in]介面識別碼 (IID) 指標,表示要用來存取新訊息的介面。 有效的介面標識碼包括IID_IUnknown、IID_IMAPIProp、IID_IMAPIContainer和IID_IMAPIFolder。 傳遞 NULL 會導致訊息存放區提供者傳回標準訊息介面 IMessage: IMAPIProp

ulFlags

[in]控制訊息建立方式的旗標位掩碼。 您可以設定下列旗標:

ITEMPROC_FORCE

向個人資料夾存放區 (PST) ,在存放區通知任何接聽用戶端新訊息抵達之前,訊息符合規則處理的資格。 規則處理僅適用於非 Microsoft Exchange Server 伺服器上建立的新訊息,因為 Exchange Server 處理伺服器上訊息的規則。 因此,建立訊息的提供者或客戶端必須使用 NON_EMS_XP_SAVE 搭配使用IMAPIPProp::SaveChanges儲存訊息來傳遞此旗標,這表示伺服器不是 Exchange Server。

MAPI_ASSOCIATED

要建立的訊息應該包含在相關聯的內容數據表中,而不是標準內容數據表中。 用戶互動會隱藏相關聯的訊息。

MAPI_DEFERRED_ERRORS

即使建立作業尚未完全完成,也允許 CreateMessage 成功。 這表示新的訊息可能無法立即提供給呼叫者使用。

lppMessage

[out]新建立訊息指標的指標。

傳回值

S_OK

已成功建立訊息。

註解

IMAPIFolder::CreateMessage 方法會建立具有泛型或相關聯內容的新訊息,並指派專案標識符。 項目標識碼包含代表訊息存放區提供者的元件,以及代表個別訊息的元件。

實作者注意事項

您可以選擇要在 CreateMessage 或訊息的 IMAPIProp::SaveChanges 方法中設定所有必要的訊息屬性。 在成功儲存之前,您不需要提供這些屬性。

如需如何使用相關聯資訊的詳細資訊,請參閱 資料夾相關聯的信息數據表內容數據表

呼叫者注意事項

某些訊息存放區提供者允許在 CreateMessage 傳回之後立即提供新訊息的專案識別碼;其他訊息存放區提供者會延遲其可用性,直到儲存訊息為止。 因為在您呼叫訊息的 IMAPIProp::SaveChanges 方法之前,並非所有訊息存放區提供者都會產生新訊息的專案識別碼,所以當 CreateMessage 傳回時,您可能無法存取專案標識符。 此外,在儲存發生之前,新的訊息可能不會包含在資料夾的內容數據表中。

預期指派給新訊息的專案標識符不只在目前訊息存放區中是唯一的,而且很可能在同時開啟的所有訊息存放區中是唯一的。 當配置檔中出現訊息存放區的多個專案時,就會發生此規則的一個例外狀況。 這會導致訊息存放區開啟多次,並複製專案標識碼。

若要建立傳出訊息,請呼叫 Outbox 資料夾的 IMAPIFolder::CreateMessage 方法。

如果您在儲存訊息之前刪除包含新訊息的資料夾,則結果會是未定義的。

MFCMAPI 參考

如需 MFCMAPI 範例程式代碼,請參閱下表。

檔案 Function Comment
FolderDlg.cpp
CFolder::OnNewMessage
MFCMAPI 使用 IMAPIFolder::CreateMessage 方法來建立和儲存新的訊息。

另請參閱

IMAPIProp::SaveChanges

IMAPIFolder:IMAPIContainer

MFCMAPI 作為程式碼範例