Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment rechercher le chemin d'accès correct au fichier Mapisvc.inf dans Microsoft Outlook

Le support d'Office 2003 a pris fin

Microsoft a mis fin au support d'Office 2003 le 8 avril 2014. Cette modification a affecté vos mises à jour logicielles et options de sécurité. Découvrez les implications de ce changement à votre niveau et la marche à suivre pour rester protégé.

TRADUCTION AUTOMATIQUE : Cet article technique a été traduit par un système automatique, c'est-à-dire sans aucune intervention humaine. Microsoft propose ce type d’articles en complément de ceux traduits par des traducteurs professionnels. Ces articles sont destinés principalement aux utilisateurs ne comprenant pas l'anglais en leur proposant, en complément, une version française de l’information technique fournie dans la version américaine et originale de l’article.Pour plus de détails, veuillez consulter la page http://support.microsoft.com/gp/mtdetails.Attention : Il est possible que certaines parties de l’article ne soient pas traduites par le système automatique et qu’elles soient restées rédigées en anglais. Microsoft ne garantit pas la qualité linguistique des traductions et ne peut être tenu responsable d’aucun problème, direct ou indirect, dû à une quelconque erreur de traduction du contenu ou de son utilisation par les utilisateurs.

La version anglaise de cet article est la suivante: 229700
Résumé
Microsoft Outlook expose la fonction FGetComponentPath dans le fichier Mapistub.dll qui vous permet de trouver le chemin d'accès au fichier Mapisvc.inf. Cet article explique comment rechercher le chemin d'accès au fichier Mapisvc.Inf en appliquant l'exemple de code dans la section "Informations complémentaires".

Avant Microsoft Outlook 2000, le fichier Mapisvc.inf a toujours été installé sous le répertoire système tel qu'être renvoyé par la fonction GetSystemDirectory d'API Win32 été installé a.
Plus d'informations
Remarque l'exemple de code suivant est compatible en amont avec toutes les versions précédentes d'Outlook. L'exemple de code suivant trouve le chemin d'accès au fichier Mapisvc.inf si le fichier Mapisvc.inf existe ou non sous le répertoire système.
typedef BOOL (STDAPICALLTYPE FGETCOMPONENTPATH)(LPSTR szComponent, LPSTR szQualifier, LPSTR szDllPath, DWORD cchBufferSize, BOOL fInstall);typedef FGETCOMPONENTPATH FAR * LPFGETCOMPONENTPATH;    /////////////////////////////////////////////////////////////////////////////// // Function name    : InitMAPIDir// Description      : For Outlook 2000 compliance. This will get the correct path to the//                  : MAPISVC.INF file.// Return type      : void // Argument         : LPSTR szMAPIDir - Buffer to hold the path to the MAPISVC file.//                  : ULONG cchINIFileName - size of szMAPIDirvoid InitMAPIDir(LPSTR szINIFileName, ULONG cchINIFileName){    UINT uiRet = 0;    CHAR szSystemDir[MAX_PATH+1] = {0};    // Get the system directory path    // (mapistub.dll and mapi32.dll reside here)    uiRet = GetSystemDirectoryA(szSystemDir, MAX_PATH);    if(uiRet > 0)    {        HRESULT hRes = S_OK;        CHAR szDLLPath[MAX_PATH+1] = {0};        hRes = StringCchPrintfA(szDLLPath, MAX_PATH+1, "%s\\%s",             szSystemDir, "mapistub.dll");        if(SUCCEEDED(hRes))        {            LPFGETCOMPONENTPATH pfnFGetComponentPath = NULL;            HMODULE hmodStub = 0;            HMODULE hmodMapi32 = 0;            // Load mapistub.dll            hmodStub = LoadLibraryA(szDLLPath);            if(hmodStub)            {                   // Get the address of FGetComponentPath from the mapistub                pfnFGetComponentPath = (LPFGETCOMPONENTPATH)GetProcAddress(                    hmodStub, "FGetComponentPath");            }            // If we didn't get the address of FGetComponentPath            // try mapi32.dll            if(!pfnFGetComponentPath)            {                hRes = StringCchPrintfA(szDLLPath, MAX_PATH+1, "%s\\%s",                     szSystemDir, "mapi32.dll");                if(SUCCEEDED(hRes))                {                    // Load mapi32.dll                    hmodMapi32 = LoadLibraryA(szDLLPath);                    if(hmodMapi32)                    {                        // Get the address of FGetComponentPath from mapi32                        pfnFGetComponentPath = (LPFGETCOMPONENTPATH)GetProcAddress(                            hmodMapi32, "FGetComponentPath");                    }                }            }            BOOL bRet = FALSE;            if(pfnFGetComponentPath)            {                // Now that we have the address of FGetComponentPath                // Let's call it with the GUID for mapisvc.inf                bRet = pfnFGetComponentPath(                    "{473FF9A0-D659-11D1-A4B2-006008AF820E}",                    NULL, szINIFileName, cchINIFileName, TRUE);             }            // If FGetComponentPath returns FALSE or if            // it returned nothing, or if we never found an            // address of FGetComponentPath, then            // just default to the system directory            if(!bRet || szINIFileName[0] == '\0')            {                hRes = StringCchPrintfA(szINIFileName, cchINIFileName,                    "%s\\%s", szSystemDir, "mapisvc.inf");            }            if(hmodMapi32)                FreeLibrary(hmodMapi32);            if(hmodStub)                FreeLibrary(hmodStub);        }    }}
Outlook 2000 OL2K OL2000 Outlook2000 MAPISVC.INF IMsgServiceAdmin kbGrpMsg kbMsg kbMAPI kbMAPI100 kbOutlook97 kbOutlook98

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 229700 - Dernière mise à jour : 08/25/2005 20:11:00 - Révision : 5.1

Microsoft Office Outlook 2003, Microsoft Outlook 2002 Standard Edition, Microsoft Outlook 2000 Standard Edition, Microsoft Messaging Application Programming Interface

  • kbhowto kbmsg kbfaq KB229700 KbMtfr kbmt
Commentaires
>