Outlook 2003에서 확장 MAPI 응용 프로그램에 캐시된 Exchange 모드 기능을 사용하는 방법

Office 2003에 대한 지원이 종료되었습니다.

Microsoft는 2014년 4월 8일 Office 2003에 대한 지원을 종료했습니다. 이러한 변경에 따라 해당 소프트웨어 업데이트 및 보안 옵션이 영향을 받습니다. 사용자에게 미치는 영향 및 계속 보호를 받는 방법에 대해 알아보십시오.

이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
소개
캐시된 Exchange 모드는 Microsoft Office Outlook 2003의 새로운 기능입니다. 캐시된 Exchange 모드를 사용하면 Outlook 2003에서 Microsoft Exchange의 사용자 사서함의 원격 복사본에 온라인으로 연결되어 있는 동안 사용자 사서함의 로컬 복사본을 사용할 수 있습니다. 확장 MAPI 개발자는 이 기능이 솔루션에 미치는 영향과 이 기능을 사용하는 방법을 알고 있어야 합니다.
추가 정보
Outlook 2003을 캐시된 Exchange 모드에서 실행하면 동일한 세션에 로그온하는 확장 MAPI 응용 프로그램도 캐시된 메시지 저장소에 연결됩니다. 데이터 액세스와 변경 작업은 사서함의 로컬 복사본에서 이루어집니다. 경우에 따라서는 이렇게 하지 않을 수도 있습니다. Outlook 2003에는 다음과 같은 MDB_ONLINE라는 새로운 플래그가 있습니다.
#define MDB_ONLINE ((ULONG) 0x00000100)
이 플래그를 IMAPISession::OpenMsgStore MAPI 함수에 전달할 수 있습니다. 이 플래그는 로컬 메시지 저장소에 대한 연결을 무시하고 원격 서버에 있는 저장소를 엽니다.

참고 이 플래그는 Exchange 저장소를 동일한 MAPI 세션에서 캐시된 모드와 캐시되지 않은 모드로 동시에 열지 못하도록 합니다. 캐시된 메시지 저장소가 이미 열려 있는 경우 이 플래그를 사용하여 저장소를 열기 전에 저장소를 닫아야 하거나 이 플래그를 사용하여 원격 서버에서 Exchange 저장소를 열 수 있는 새 MAPI 세션을 열어야 합니다.

다음 코드에서는 이 플래그를 사용하는 방법을 보여줍니다.
    //Obtain the table of all the message stores that are available    hRes = lpMAPISession -> GetMsgStoresTable(0, &pStoresTbl);        //Set up restrictions for the default store    sres.rt = RES_PROPERTY;                                  //Comparing a property    sres.res.resProperty.relop = RELOP_EQ;                   //Testing equality    sres.res.resProperty.ulPropTag = PR_DEFAULT_STORE;       //Tag to compare    sres.res.resProperty.lpProp = &spv;                      //Prop tag and value to compare against        spv.ulPropTag = PR_DEFAULT_STORE;                        //Tag type    spv.Value.b   = TRUE;                                    //Tag value        //Convert the table to an array that can be stepped through    //Only one message store should have PR_DEFAULT_STORE set to true, so that only one will be returned    hRes = HrQueryAllRows(        pStoresTbl,                                          //Table to query        (LPSPropTagArray) &sptCols,                          //Which columns to obtain        &sres,                                               //Restriction to use        NULL,                                                //No sort order        0,                                                   //Max number of rows (0 means no limit)        &pRow);                                              //Array to return        //Open the first returned (default) message store    hRes = lpMAPISession->OpenMsgStore(        NULL,                                                //Window handle for dialogs        pRow->aRow[0].lpProps[EID].Value.bin.cb,             //size and...        (LPENTRYID)pRow->aRow[0].lpProps[EID].Value.bin.lpb, //value of entry to open        NULL,                                                //Use default interface (IMsgStore) to open store        MAPI_BEST_ACCESS | MDB_ONLINE,                       //Flags        &lpTempMDB);                                         //Pointer to put the store in
또한 다음과 같이 MAPI_NO_CACHE 플래그를 IMsgStore::OpenEntry MAPI 함수에 전달하여 특정 항목이나 폴더에 대한 캐시를 무시할 수 있습니다.
#define MAPI_NO_CACHE ((ULONG) 0x00000200)
다음 코드에서는 이 플래그를 사용하는 방법을 보여줍니다.
    // Open the root folder of the message store    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 that is returned        (LPUNKNOWN *)&lpRootFolder)))                        // Pointer to put the opened item in
참고 MDB_ONLINE 플래그를 사용하여 메시지 저장소를 연 경우 MAPI_NO_CACHE 플래그를 사용하지 않아도 됩니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
속성

문서 ID: 834496 - 마지막 검토: 01/12/2015 23:06:57 - 수정: 2.0

  • Microsoft Office Outlook 2003
  • kbnosurvey kbarchive kbinfo kbmsg kbprogramming kbsample KB834496
피드백