共用方式為


IMAPIMessageSite::D eleteMessage

適用於:Outlook 2013 |Outlook 2016

刪除目前的訊息。

HRESULT DeleteMessage(
  LPMAPIVIEWCONTEXT pViewContext,
  LPCRECT prcPosRect
);

參數

pViewContext

[in]檢視內容物件的指標。

中國PosRect

[in] RECT 結構的指標,其中包含目前窗體的視窗大小和位置。 顯示的下一個窗體也會使用此視窗矩形。

傳回值

S_OK

呼叫成功,並傳回預期的值。

MAPI_E_NO_SUPPORT

此訊息網站不支援此作業。

註解

表單物件會呼叫 IMAPIMessageSite::D eleteMessage 方法來刪除表單目前顯示的訊息。

呼叫者注意事項

DeleteMessage 傳回之後,表單對象必須檢查是否有新的訊息,然後在沒有任何訊息存在時自行關閉。 若要判斷 DeleteMessage 處理的郵件是否已刪除或移至 [刪除的郵件 ] 資料夾,表單物件可以呼叫 IMAPIMessageSite::GetSiteStatus 方法來判斷是否傳回DELETE_IS_MOVE旗標。

實作者注意事項

如果窗體查看器的 DeleteMessage 方法實作在刪除訊息之後移至下一個訊息,則實作應該呼叫 IMAPIViewContext::ActivateNext 方法,並在執行實際刪除之前傳遞VCDIR_DELETE旗標。 例如,如果表單查看器的 DeleteMessage 實作將已刪除的郵件移 (移至 [刪除的 郵件 ] 資料夾) ,則如果郵件已修改,則實作必須儲存訊息的變更。

DeleteMessage 的一般實作會執行下列工作:

  1. 如果實作正在移動訊息,它會呼叫 IPersistMessage::Save 方法,在 pMessage 參數中傳遞 null,在 fSameAsLoad 參數中傳遞 true

  2. 它會呼叫 IMAPIViewContext::ActivateNext 方法,並在 ulDir 參數中傳遞VCDIR_DELETE旗標。

  3. 如果 ActivateNext 呼叫失敗,則會傳回 。 如果 ActivateNext 傳 回 S_FALSE,它會呼叫 IPersistMessage::HandsOffMessage 方法。

  4. 它會刪除或行動訊息。

若要取得窗體視窗所使用的 RECT 結構,請呼叫 Windows GetWindowRect 函式

如需與表單伺服器相關的介面清單,請參閱 MAPI窗體介面

MFCMAPI 參考

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

檔案 Function Comment
MyMAPIFormViewer.cpp
CMyMAPIFormViewer::D eleteMessage
未實作。

另請參閱

IMAPIMessageSite::GetSiteStatus

IMAPIViewContext::ActivateNext

IPersistMessage::HandsOffMessage

IPersistMessage::Save

IMAPIMessageSite: IUnknown

MFCMAPI 作為程式碼範例

MAPI 表單介面