- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 Windows 或 OLE 要我在 HKEY_CLASSES_ROOT\CLSID
下注册我的类时,将调用
DllRegisterServer
。但我不明白为什么必须实现这个功能,因为当 Windows/OLE 可以调用我的 DLL 时,我的类已经注册了它们的 CLSID 和它们到正确 DLL 的路径。有人可以告诉我,我误解了什么吗?
最佳答案
你把鸡和蛋混为一谈了。为了让 COM 帮助客户端应用程序创建对象和编码调用,它需要知道您的 COM 服务器所在的位置。客户端应用程序只使用一个数字,一个 GUID,告诉 COM 它需要什么对象。从 GUID 到可执行文件中的代码的映射要求 COM 首先知道该文件所在的位置。并且,如有必要,如何在一个接口(interface)上编码从一个公寓到另一个公寓的调用。
它正在注册为 COM 提供该知识的服务器。它在 COM 用来找回文件的注册表中写入键值。与 CLSID 键一样,它的 InProcServer32 子键提供文件的路径。等等。或者如果选择使用无注册 COM,则嵌入在客户端应用程序中的 list 。
使用 SysInternals 的进程监视器观察这一点可以提供很多见解。您将了解 DllRegisterServer() 的作用以及客户端应用程序如何使用这些 key 。
关于com - DllRegisterServer的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24757803/
我已经写了一个 COM dll,并希望使用它来注册 regsvr32 myComdll.dll 我得到一个错误: DllRegisterServer failed, Return code was:
我有一个使用脚本构建的 COM DLL。没有可用的 Visual Studio 项目。当我使用命令 regsvr32 "c:\windows\system32\dllname.dll"注册 dll 时
我正在尝试实现 COM 的 DllRegisterServer 方法。 所以我读了这个教程: http://www.codeguru.com/cpp/com-tech/activex/tutorial
当我尝试运行 Oleview 时,我收到一条错误消息,指出 IViewer.dll 的 DllRegisterServer 失败(抱歉,我想发布屏幕截图,但直到获得 10 信誉 =p 后才能发布) O
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How do I register a COM DLL written in C# with Regsvr3
我有一个导出自定义工厂函数 CreateX() 的 COM dll。与 D3D11 非常相似,此 dll 中的对象不是通过 CoCreateInstance() 实例化的,并且没有类工厂或 CLSID
我发现很难找出此消息的原因。我下载了 PIA 服务并安装了提取的文件,但是当我使用 regsvr32 path\file name 注册时,我收到上述消息: .dll was loaded, but
我有一个 .net 程序集 dll,我正尝试使用 regsvr32 注册它,但出现以下错误: “dll 已加载但未找到 DllRegisterServer 入口点” 在注册其他 dll 时也出现此错误
无需调用 regsvr32.exe,可以使用以下步骤注册 .DLL: HINSTANCE hLib = ::LoadLibraryEx(dllPath, NULL, LOAD_WITH_ALTERED
我在 vb.net 中编写了一个调用 Web 服务的 dll,使用返回的数据,然后将结果传递回调用程序。我最初是在 VS 2008 中写的,在 Windows 7 (x64) 上。在同样在 Windo
这个问题在这里已经有了答案: How do I register a .NET COM DLL with Regsvr32? (2 个答案) 关闭 7 年前。 我创建了一个类并使其可见: [ComV
我有 Windows 7,64 位。 我正在尝试使用 regsvr32 注册一个 .dll (comdlg32.dll)。但是我收到一条错误消息,指出已读取 dll 但未找到 DLLRegistryS
我是使用符号进行调试的新手(当无法访问测试机器时)。 我已经为客户提供了带有 .pdb 文件的调试版本,但出于某种原因,我获得的转储文件不包含特定于我的 .dll 的条目(尽管客户坚持认为问题发生在那
我是一名优秀的程序员,十分优秀!