Comment utiliser la fonctionnalité mode Exchange mis en cache avec les applications MAPI étendues dans Outlook 2003

Traductions disponibles Traductions disponibles
Numéro d'article: 834496 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

INTRODUCTION

Le mode Exchange mis en cache est une nouvelle fonctionnalité dans Microsoft Office Outlook 2003. Le mode Exchange mis en cache permet à Outlook 2003 pour utiliser une copie locale de boîte aux lettres d'un utilisateur alors que Outlook 2003 maintient une connexion en ligne à une copie distante de boîte aux lettres l'utilisateur dans Microsoft Exchange. Il est important pour les développeurs MAPI étendu de comprendre comment cette fonctionnalité affecte leurs solutions et comment elles fonctionnent avec cette fonctionnalité.

Plus d'informations

Si Outlook 2003 fonctionne en mode Exchange mis en cache, les applications MAPI étendu ouvrir une session sur la même session sont également connectées à la banque de messages mis en cache. Toutes les données qui sont accessible et les modifications apportées sont effectuées par rapport à la copie locale de la boîte aux lettres. Parfois, vous ne voulez pas que cela se produit. Outlook 2003 inclut un nouvel indicateur nommé MDB_ONLINE :
#define MDB_ONLINE ((ULONG) 0x00000100)
Cet indicateur peut transmettre à la fonction IMAPISession::OpenMsgStore MAPI. Cet indicateur remplace la connexion à la banque locale et ouvre la banque sur le serveur distant.

note Cet indicateur ne permet pas de la banque Exchange pour être ouvert en mode mis en cache et en mode non mis en cache en même temps dans la même session MAPI. Si vous avez déjà ouvert la banque de messages mis en cache, vous devez fermer soit le magasin avant d'ouvrir avec cet indicateur ou ouvrez une session MAPI nouvelle où vous pouvez ouvrir la banque Exchange sur le serveur distant à l'aide cet indicateur.

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
En outre, vous pouvez ignorer le cache sur des articles spécifiques ou des dossiers en transmettant l'indicateur MAPI_NO_CACHE à la fonction MAPI IMsgStore::OpenEntry :
#define MAPI_NO_CACHE ((ULONG) 0x00000200)
le code suivant montre comment utiliser cet indicateur :
    // 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
Remarque si vous avez ouvert la banque de messages avec l'indicateur MDB_ONLINE , vous ne devrez pas utiliser l'indicateur MAPI_NO_CACHE .

Propriétés

Numéro d'article: 834496 - Dernière mise à jour: jeudi 19 mai 2005 - Version: 2.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Outlook 2003
Mots-clés : 
kbmt kbprogramming kbsample kbmsg kbinfo KB834496 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 834496
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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