Help and Support

文章编号: 258942 - 最后修改: 2005年7月11日 - 修订: 2.3

BUG: Browseh 进程内 COM 示例不能提供入口点

本页

展开全部 | 关闭全部

症状

在生成,并当您尝试运行 Microsoft Visual Basic 客户端应用程序示例附带的平台 SDK 注册 Browseh 示例之后,您看不到任何结果。 当您尝试从如 OLEVIEW 的另一台客户端创建 Browseh COM 组件您可能会收到以下错误信息:

Microsoft Windows NT 4.0
CoGetClassObject 失败。 未注册的类。 REGDB_E_CLASSNOTREG ($80040154)
Microsoft Windows 2000
CoGetClassObject 失败。 DLL CO_E_ERRORINDLL ($800401f9) 中的错误

原因

因如何当前生成该示例,没有的函数导出由 Browseh COM 进程内服务器。 一个至少必须导出, DllGetClassObject DllCanUnloadNow 函数。 该示例包含一个 Browseh.def 文件,但不导出这些函数。 此外,在生成文件会忽略 Browseh.def 链接语句中。

解决方案

要解决此问题,执行下面的步骤:
  1. 在 Browseh.def 文件中将导出节替换以下代码:
    EXPORTS        
    	DllGetClassObject  PRIVATE
    	DllCanUnloadNow  PRIVATE
    					
  2. 在生成文件中,请将以下代码添加到链接行
    /DEF:browseh.def
    						
    ,以便在链接行显示如下所示:
    LINK = $(link)
    LINKFLAGS = $(linkdebug) $(guilflags) -dll -entry:_DllMainCRTStartup$(DLLENTRY) /DEF:browseh.def\ 
    					
  3. 重新生成该示例。

状态

Microsoft 已确认这是在本文开头列出的 Microsoft 产品。

更多信息

重现问题的步骤

  1. 按照示例说明生成并注册该示例。

    注意: Browseh.dll 文件不符合自行注册的 DLL,因此使用 Browseh.reg 文件注册 Browseh.dll。 请确保更新到 Browseh.dll、 Browseh.tlb 和 MyDisp.tlb Browseh.reg 中正确的路径。
  2. 在 Microsoft Visual Basic,打开该 VB.vbp 为文件它将加载该示例的客户端项目。
  3. 按 F 5 键运行 Visual Basic 客户端。
  4. 单击 选择类型库
  5. 选择类型库 对话框单击任何类型库文件,然后单击 确定 。 未执行任何操作的声明。 简单的 Visual Basic 客户端捕获会引发但没有错误处理程序中的错误。
  6. 要验证的 DllGetClassObject DllCanUnloadNow 不从导出 Browseh.dll,可以使用诸如 Dumpbin.exe 的工具。 在命令提示符键入以下行 Browseh.dll 文件夹中:
    dumpbin browseh.dll /exports
    导出的函数列表会显示,但不包括 DllGetClassObject DllCanUnloadNow

这篇文章中的信息适用于:
  • Microsoft Platform Software Development Kit-January 2000 Edition
关键字:?
kbmt kbbug kbpending KB258942 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。如果您发现了错误并希望帮助我们提高机器翻译技术,请完成文章末尾的在线调查。
点击这里察看该文章的英文版: 258942? (http://support.microsoft.com/kb/258942/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

文章翻译