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