適用於:Outlook 2013 |Outlook 2016
若要開啟訊息
從下列其中一個來源擷取訊息的項目識別碼:
代表其父資料夾之目錄中訊息的數據列。 如需使用資料夾內容表的詳細資訊,請參閱 內容數據表。
使用新郵件通知傳送之NEWMAIL_NOTIFICATION結構的 lpEntryID 成員。 如需接收和處理通知的詳細資訊,請參閱 處理通知。
呼叫訊息的 IMAPIProp::GetProps 方法,要求 PR_ENTRYID (PidTagEntryId) 屬性。
呼叫下列其中一個 OpenEntry 方法來開啟訊息,將 lpEntryID 設定為訊息的專案識別碼:
最快的方法僅適用於傳入的訊息,而且牽涉到呼叫接收資料夾的 IMAPIFolder::OpenEntry 方法。 呼叫訊息存放區 IMsgStore::OpenEntry 方法的下一個最快速方法,適用於所有訊息,因為這是最慢的方法,呼叫 IMAPISession::OpenEntry。
注意事項
您可以隨時關閉資料夾及其內容資料表,而不會對從其中開啟的任何訊息造成負面影響。
開啟已儲存在磁碟上的訊息
呼叫 StgOpenStorage 以擷取 IStorage 介面指標,並傳遞 pwcsName 參數的訊息檔名稱。
LPSTORAGE pStorage = NULL; HRESULT hr = StgOpenStorage (L"MESSAGE.MSG", NULL, STGM_TRANSACTED | STGM_READWRITE | STGM_SHARE_EXCLUSIVE, NULL, 0, &pStorage);呼叫 OpenIMsgOnIStg 以擷取 IMessage 介面指標來存取訊息。
LPMESSAGE pMessage = NULL; LPMALLOC pMalloc = MAPIGetDefaultMalloc(); hr = OpenIMsgOnIStg (NULL, MAPIAllocateBuffer, MAPIAllocateMore, MAPIFreeBuffer, pMalloc, NULL, pStorage, NULL, 0, 0, &pMessage);