IMsgStore::FinishedMsg
適用於:Outlook 2013 |Outlook 2016
可讓訊息存放區提供者對傳送的訊息執行處理。 只有MAPI多任務緩衝處理程式會呼叫這個方法。
HRESULT FinishedMsg(
ULONG ulFlags,
ULONG cbEntryID,
LPENTRYID lpEntryID
);
參數
ulFlags
[in]保留;必須是零。
cbEntryID
[in] lpEntryID 參數所指向之專案標識碼中的位元組計數。
lpEntryID
[in]要處理之訊息之項目標識碼的指標。
傳回值
S_OK
已成功處理傳送的訊息。
MAPI_E_NO_SUPPORT
訊息存放區提供者不支援傳送的訊息處理。 如果呼叫端不是 MAPI 多任務緩衝處理器,則會傳回這個錯誤值。
註解
IMsgStore::FinishedMsg 方法會對傳送的訊息執行處理。 此處理可能涉及刪除訊息、將其移至不同的資料夾,或兩個動作。 處理類型取決於PR_DELETE_AFTER_SUBMIT (PidTagDeleteAfterSubmit) 和 PR_SENTMAIL_ENTRYID (PidTagSentMailEntryId 屬性是否已設定) 。
實作者注意事項
在您的 FinishedMsg 實作中,解除鎖定 lpEntryID 所識別的訊息,並執行適當的處理。 目標訊息一律會鎖定;MAPI 多任務緩衝處理程序永遠不會將解除鎖定訊息的專案標識碼傳遞至 FinishedMsg。
可能未設定 PR_DELETE_AFTER_SUBMIT 或 PR_SENTMAIL_ENTRYID 、設定兩者,或設定其中一個或另一個。 下表描述您應該根據設定採取的動作:
屬性 | 值 |
---|---|
如果未設定任何屬性: |
將訊息保留在傳送訊息的資料夾中 (通常是 Outbox) 。 |
如果設定這兩個屬性: |
視需要將訊息移至指定的資料夾,然後將其刪除。 |
如果已設定PR_SENTMAIL_ENTRYID: |
將訊息移至指定的資料夾。 |
如果已設定PR_DELETE_AFTER_SUBMIT: |
刪除訊息。 |
在您採取任何適當的動作之後,請呼叫 IMAPISupport::D oSentMail 方法。