Como utilizar a funcionalidade de modo de intercâmbio em cache com aplicações de MAPI expandidas no Outlook 2003

Traduções de Artigos Traduções de Artigos
Artigo: 834496 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

INTRODUÇÃO

Modo de intercâmbio em cache é uma nova funcionalidade no Microsoft Office Outlook 2003. Modo de intercâmbio em cache permite que o Outlook 2003 para utilizar uma cópia local da caixa de correio do utilizador enquanto o Outlook 2003 mantém uma ligação online para cópia remota da caixa correio do utilizador no Microsoft Exchange. É importante para programadores de Extended MAPI compreender como esta funcionalidade afecta as respectivas soluções e como podem trabalhar com esta funcionalidade.

Mais Informação

Se o Outlook 2003 estiver em execução no modo de intercâmbio em cache, quaisquer aplicações de Extended MAPI que iniciar sessão mesma também estão ligadas ao arquivo de mensagens colocados na cache. Quaisquer dados que são acedidos e quaisquer alterações efectuadas serão efectuadas com a cópia local da caixa de correio. Por vezes, não pretender este ocorrer. O Outlook 2003 inclui um novo sinalizador denominado MDB_ONLINE :
#define MDB_ONLINE ((ULONG) 0x00000100)
este sinalizador possa ser transmitida para a função MAPI IMAPISession::OpenMsgStore . Este sinalizador substitui a ligação ao arquivo de mensagens local e abre o arquivo no servidor remoto.

Nota Este sinalizador não permitirá o arquivo do Exchange a ser aberto no modo em cache e no modo de fora da cache ao mesmo tempo na mesma sessão MAPI. Se já tiver aberto o arquivo de mensagens colocados na cache, ou tem de fechar o arquivo antes de abri-lo com este sinalizador ou abrir uma nova sessão MAPI, onde é possível abrir o arquivo do Exchange no servidor remoto, utilizar este sinalizador.

The following code demonstrates how to use this flag:
    //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
além disso, pode ignorar a cache de itens específicos ou pastas, passando o sinalizador MAPI_NO_CACHE para a função MAPI IMsgStore::OpenEntry :
#define MAPI_NO_CACHE ((ULONG) 0x00000200)
O seguinte código demonstra como utilizar este sinalizador:
    // 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
Nota se abrir o arquivo de mensagens com o sinalizador MDB_ONLINE , não é necessário utilizar o sinalizador MAPI_NO_CACHE .

Propriedades

Artigo: 834496 - Última revisão: 19 de maio de 2005 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft Office Outlook 2003
Palavras-chave: 
kbmt kbprogramming kbsample kbmsg kbinfo KB834496 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 834496

Submeter comentários

 

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