BUG: Browseh In-Process COM Sample Does Not Expose Entry Points (258942)
The information in this article applies to:
- Microsoft Platform Software Development Kit (SDK) 1.0
This article was previously published under Q258942 SYMPTOMS
After you build and register the Browseh sample in the Platform SDK, when you try to run the Microsoft Visual Basic client application that is included with the sample, you may not see any results. When you attempt to create the Browseh COM component from another client, such as OLEVIEW, you may receive the following error message:
Microsoft Windows NT 4.0
CoGetClassObject failed. Class not registered. REGDB_E_CLASSNOTREG ($80040154)
Microsoft Windows 2000
CoGetClassObject failed. Error in the DLL CO_E_ERRORINDLL ($800401f9)
CAUSE
Because of how the sample is currently built, no functions are exported from the Browseh COM in-process server. At a minimum, you must export the DllGetClassObject and DllCanUnloadNow functions. The sample has a Browseh.def file, but it does not export these functions. In addition, the makefile ignores Browseh.def in the Link statement.
RESOLUTION
To resolve this problem, perform the following steps:
- In the Browseh.def file, replace the Exports section with the following code:
EXPORTS
DllGetClassObject PRIVATE
DllCanUnloadNow PRIVATE
- In the makefile, add the following code to the Link line
/DEF:browseh.def
so that the Link line appears as follows:
LINK = $(link)
LINKFLAGS = $(linkdebug) $(guilflags) -dll -entry:_DllMainCRTStartup$(DLLENTRY) /DEF:browseh.def\
- Rebuild the sample.
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Minor | Last Reviewed: | 7/11/2005 |
---|
Keywords: | kbbug kbpending KB258942 |
---|
|