Использование функции кэширования сервера Exchange с помощью расширенных приложения MAPI в Outlook 2003

Переводы статьи Переводы статьи
Код статьи: 834496 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке

Режим кэширования сервера Exchange — это новая функция в Microsoft Office Outlook 2003. Режим кэширования сервера Exchange позволяет использовать локальную копию почтового ящика пользователя, в то время как Outlook 2003 поддерживает подключения по сети с удаленной копией почтового ящика пользователя в сервере Microsoft Exchange Outlook 2003. Это важно для разработчиков Extended MAPI понять, как она влияет на свои решения и как они могут работать с этой функцией.

Дополнительная информация

Если Outlook 2003 запущен в режиме кэширования сервера Exchange, для хранения кэшированных сообщений также подключены приложения Extended MAPI, войдите в систему на том же сеансе. Все данные, к которым осуществляется и любые изменения, внесенные станут от локальной копии почтового ящика. В некоторых случаях не требуется чтобы это произошло. Outlook 2003 содержит новые флаг, который называетсяMDB_ONLINE:
#define MDB_ONLINE ((ULONG) 0x00000100)
Этот флаг может быть передан вIMAPISession::OpenMsgStoreФункции MAPI. Данный флаг отменяет подключение к хранилищу сообщений на локальном и открывается хранилище на удаленном сервере.

Примечание.Этот флаг не позволит хранилища Exchange, который необходимо открыть в режиме кэширования и в режиме без кэширования в то же время, в том же сеансе MAPI. Уже открытия хранилища сообщений для кэширования, хранилища необходимо либо закрыть прежде чем открыть его с помощью этого флага или откройте новый сеанс MAPI, где можно открыть с помощью этого флага в хранилище Exchange на удаленном сервере.

Следующий код демонстрирует использование этого флага:
    //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Флаг.

Свойства

Код статьи: 834496 - Последний отзыв: 26 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office Outlook 2003
Ключевые слова: 
kbprogramming kbsample kbmsg kbinfo kbmt KB834496 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:834496

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com