Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Cómo localizar la ruta correcta de acceso al archivo Mapisvc.inf en Microsoft Outlook

Ha finalizado el soporte técnico para Office 2003

Microsoft puso fin al soporte técnico para Office 2003 el 8 de abril de 2014. Este cambio ha afectado a las actualizaciones de software y las opciones de seguridad. Sepa qué significa esto en su caso y cómo puede mantenerse protegido.

AVISO: Gracias por utilizar el servicio de Traducción Automática. Este artículo ha sido traducido por un sistema informático sin ayuda humana (Machine Translation). Microsoft ofrece estos artículos a los usuarios que no comprendan el inglés, exclusivamente, con el fin de que puedan entenderlos más fácilmente. Microsoft no se hace responsable de la calidad lingüística de las traducciones ni de la calidad técnica de los contenidos de los artículos así como tampoco de cualesquiera problemas, directos o indirectos, que pudieran surgir como consecuencia de su utilización por los lectores.

229700
Resumen
Microsoft Outlook expone la función del archivo Mapistub.dll que le ayuda a encontrar la ruta de acceso al archivo Mapisvc.inf. En este artículo se describe cómo buscar la ruta de acceso al archivo Mapisvc.inf utilizando el ejemplo del código en la sección más "información".

Antes de Microsoft Outlook 2000, el archivo Mapisvc.inf siempre estuvo instalado bajo el directorio de sistema como que estuviera devuelve por la función de API Win32.
Más información
Nota El ejemplo siguiente del código es compatible con todas las versiones anteriores de Outlook. El ejemplo siguiente del código encuentra la Ruta de acceso al archivo Mapisvc.inf si existe o no el archivo Mapisvc.inf en el directorio de sistema.
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

Advertencia: este artículo se ha traducido automáticamente

Propiedades

Id. de artículo: 229700 - Última revisión: 08/25/2005 20:11:00 - Revisión: 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 KbMtes kbmt
Comentarios