gpt4 book ai didi

com - DllRegisterServer的使用

转载 作者:行者123 更新时间:2023-12-02 04:28:55 35 4
gpt4 key购买 nike

当 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/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com