系统错误&H80004015(-2147467243).该类配置为作为与调用者不同的安全ID运行

var*_*jan 5 vb6

当尝试调试VB DLL使用Visual Studio 6.0时,我收到以下错误.你能告诉我需要做些什么吗?

系统错误&H80004015(-2147467243).该类配置为作为与调用者不同的安全ID运行

小智 6

我曾经也有过一样的问题.
创建了一些ActiveX DLL并将二进制文件放入COM +应用程序中,该应用程序在特定帐户(不是我的)下运行.然后我使用Server.CreateObject()在ASP脚本页面中使用这些组件.如果我将源代码加载到VB中进行调试并尝试运行它("Start with Full Compile"),我收到此错误消息.原因是COM +应用程序中注册的帐户与我尝试运行的帐户不同.此特定情况的解决方案是关闭COM +应用程序并删除组件.完成调试后,编译DLL集并将它们放回COM +应用程序.

希望有人得到这方面的帮助:-)


Cod*_*ray 1

有一篇知识库文章似乎适用于您的情况:

PRB:在 Visual Basic IDE 中运行 ActiveX DLL 时系统错误消息“&H80004015”

原因:当 Visual Basic 从 IDE 运行 ActiveX DLL 时,它会调用CoRegisterClassObject应用程序编程接口 (API) 来临时注册服务器。这将创建 AppId 并指定它在交互式用户上下文中运行。

出现此问题的原因是 Microsoft OLE 库 4.0 中的错误,该库包含在 Microsoft 平台软件开发工具包 (SDK) 中。CoRegisterClassObject在以下情况下会失败并显示本文“症状”部分中列出的错误消息:

  • 如果调用 API 的 ActiveX 服务器设置为使用交互式用户身份运行。

    -和-

  • 与以下注册表项关联的字符串包含除 shell 进程的单个有效可执行文件名称之外的任何值:

    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell=
    
    Run Code Online (Sandbox Code Playgroud)

    在 Microsoft Windows 2000 下,当证书颁发机构服务未启动时会出现此错误。


解决方案:确保HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell=注册表项包含 shell 进程的单个有效可执行文件名称。

要在Windows 2000 下解决此问题,您可以安装“Microsoft 网络客户端”组件,然后重新启动。