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 的一般實作會執行下列工作:
如果實作正在移動訊息,它會呼叫 IPersistMessage::Save 方法,在 pMessage 參數中傳遞 null,在 fSameAsLoad 參數中傳遞 true。
它會呼叫 IMAPIViewContext::ActivateNext 方法,並在 ulDir 參數中傳遞VCDIR_DELETE旗標。
如果 ActivateNext 呼叫失敗,則會傳回 。 如果 ActivateNext 傳 回 S_FALSE,它會呼叫 IPersistMessage::HandsOffMessage 方法。
它會刪除或行動訊息。
若要取得窗體視窗所使用的 RECT 結構,請呼叫 Windows GetWindowRect 函式 。
如需與表單伺服器相關的介面清單,請參閱 MAPI窗體介面。
MFCMAPI 參考
如需 MFCMAPI 範例程式代碼,請參閱下表。
檔案 | Function | Comment |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::D eleteMessage |
未實作。 |
另請參閱
IMAPIMessageSite::GetSiteStatus
IMAPIViewContext::ActivateNext