適用於:Outlook 2013 |Outlook 2016
本主題包含 C++ 中的程式碼範例,示範當 Microsoft Office Outlook 處於快取 Exchange 模式時,如何使用 MAPI_NO_CACHE 旗標在遠端伺服器上開啟資料夾或訊息。
快取的 Exchange 模式允許 Outlook 使用使用者信箱的本地副本,而 Outlook 則會維持與遠端 Exchange 伺服器上使用者信箱遠端複本的在線連線。 當 Outlook 以快取 Exchange 模式執行時,根據預設,任何登入相同會話的 MAPI 解決方案也會連線到快取的訊息存放區。 存取的任何數據以及所做的任何變更,都會對信箱的本地副本進行。
用戶端或服務提供者可以覆寫本機訊息存放區的連線,並在呼叫 IMsgStore::OpenEntry 時,在 ulFlags 參數中設定 MAPI_NO_CACHE的位,以開啟訊息或遠端存放區上的資料夾。
下列程式代碼範例示範如何使用ulFlags參數中設定的MAPI_NO_CACHE旗標來呼叫IMsgStore::OpenEntry,以開啟遠端訊息存放區的根資料夾。
HRESULT HrOpenRootFolder (
LPMDB lpMDB,
LPMESSAGE* lpRootFolder)
{
ULONG ulObjType = NULL;
HRESULT hRes = lpMDB->OpenEntry(
0,// size of entry ID
NULL, // Pointer to entry ID
NULL, // Use default interface (IMAPIFolder)
MAPI_BEST_ACCESS | MAPI_NO_CACHE, // Flags
&ulObjType,
// Output parameter indicates the type of object returned
(LPUNKNOWN *) lpRootFolder)); // Pointer to put the opened folder in
return hRes;
}
如果您在遠端伺服器上以 MDB_ONLINE 旗標開啟訊息存放區,則不需要使用 MAPI_NO_CACHE 旗標。