Article ID: 141485
Article Last Modified on 10/24/2002
APPLIES TO
- Microsoft Visual C++ 4.0 Standard Edition
This article was previously published under Q141485
SYMPTOMS
Attempting to link an OLE Control project with Mapi32.lib results in the following warnings and errors:
CAUSE
The import library for the Mapi32.dll (Mapi32.lib) incorrectly exports the DllCanUnloadNow and DllGetClassObject functions. These functions should be exported privately and not included in the import library.
RESOLUTION
To work around this problem, build the Mapi32.lib import library from scratch by using the Lib.exe utility included with Visual C++ 4.0.
Copy the sample code listed below into a text file, and save it as Mapi32.def. From the command prompt, enter the following command line to execute the Lib.exe utility and build a new Mapi32.lib import library:
LIB /DEF:MAPI32.DEF
Replace the incorrect Mapi32.lib file located in the ~\Msdev\Lib directory with this newly created Mapi32.lib file, and rebuild the OLE Control project.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ 4.1.
MORE INFORMATION
For additional information on how to build import libraries without access to source files, please refer to the following article in the Microsoft Knowledge Base:
131313 How to Create 32-bit Import Libraries Without .OBJs or Source
Sample Code
; Mapi32.def : Used DUMPBIN /EXPORTS to determine the functions and ; ordinal values listed in the EXPORTS section below. Note ; DllCanUnloadNow, DllGetClassObject, and WEP are NOT listed below. LIBRARY "MAPI32.DLL" EXPORTS BMAPIAddress @35 BMAPIDetails @37 BMAPIFindNext @34 BMAPIGetAddress @36 BMAPIGetReadMail @33 BMAPIReadMail @32 BMAPIResolveName @38 BMAPISaveMail @31 BMAPISendMail @30 MAPIAddress @19 MAPIDeleteMail @17 MAPIDetails @20 MAPIFindNext @16 MAPIFreeBuffer @18 MAPILogoff @12 MAPILogon @11 MAPIReadMail @15 MAPIResolveName @21 MAPISaveMail @14 MAPISendDocuments @10 MAPISendMail @13
Additional query words: kbVC400bug LNK1152 LNK1141 LNK4022 LNK4002 4.00 Win32 sdk ocx ole control cdk 4.10 kbVC400bug
Keywords: kbbug kbfix kbnoupdate kbvc410fix kbdll kbctrl KB141485