Share via


Outlook が Exchange キャッシュ モードの場合、リモート サーバー上のストアにアクセスする

適用対象: Outlook 2013 | Outlook 2016

このトピックには、Microsoft Office Outlook が Exchange キャッシュ モードのときに 、MAPI_NO_CACHE フラグを使用してリモート サーバー上のメッセージ ストア上のフォルダーまたはメッセージを開く方法を示す C++ のコード サンプルが含まれています。

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 フラグを使用する必要はありません。

関連項目