一个COM中有多少类?

一个COM中有多少类?,com,Com,每个人。 我们知道COM服务器以dll或ax的形式存在。我们可以通过调用CoCreateInstance来使用COM组件。您知道每个COM类都有一个CLSID。我们使用CLSID创建一个对象。我想回答一个dll(COM服务器)中可以实现多少COM类 一个.dll文件(在proc COM server中)可以为任意数量的COM类提供服务-我们有一个商业产品,它随一个COM服务器提供,实现了20个COM类 Windows注册表将多个类id映射到同一个.dll文件这一事实并不是一个问题-在每个传递请求

每个人。 我们知道COM服务器以dll或ax的形式存在。我们可以通过调用CoCreateInstance来使用COM组件。您知道每个COM类都有一个CLSID。我们使用CLSID创建一个对象。我想回答一个dll(COM服务器)中可以实现多少COM类

一个.dll文件(在proc COM server中)可以为任意数量的COM类提供服务-我们有一个商业产品,它随一个COM服务器提供,实现了20个COM类


Windows注册表将多个类id映射到同一个.dll文件这一事实并不是一个问题-在每个传递请求的类id并检索正确的类工厂的in-proc COM服务器中都有
DllGetClassObject()
函数。因此,单个进程内COM服务器cam可以服务于多个COM类。

您的意思是,多个COM类(CLSID)存储在一个dll中。注册表中有两个项,如:CLSID_一个地址D:/myCom.dll CLSID_二个地址D:/myCom。dll@kenny:是的,那当然是可能的。两个类ID映射到同一个.dll不是问题-
DllGetClassObject()
在.dll内部将检索正确的类工厂。非常感谢。我完全明白了。