我有一个COM dll导出自定义工厂函数CreateX()
。与D3D11非常相似,来自此dll的对象不是通过CoCreateInstance()
实例化的,并且没有类工厂或CLSID - 只有IID。我已经从ATL项目中删除了所有提到的服务器功能,该项目没有问题。我还将dll链接到测试应用程序,一切都按预期工作。
在我不知道的情况下排除DllRegisterServer()
(等)是否有不利之处?
答案 0 :(得分:2)
没有明显的缺点。这是一个流行的误解,即所有与COM相关的内容都必须在Windows注册表中。在基础层面上,COM只是二进制互操作性的惯例。通过注册表提供的服务不是必需的。