![]() |
1
2
由于您正在使用C++客户端,因此应该明确使用早期绑定的显式接口。调度接口在使用脚本客户端(如VBS)时很有用,但它们对于C++客户端来说很少有用。 版本化接口的唯一方法是创建一个新接口(可能继承自原始接口)。当使用显式接口时,您可以完全控制这个过程。 这意味着您应该为打算通过COM公开的每个类创建一个接口。不要忘记用comvisible和guid属性标记每个接口和类。另外,所有类都必须有一个默认的构造函数。 |
![]() |
2
1
您必须了解guid属性( including this )以保持二进制兼容性,并且仅在必要时重建客户端。 另外,您可能对ComVisible属性感兴趣, helps reduce registry pollution . |
![]() |
3
1
要完全控制COM接口,请在MIDL中定义它们。在C++项目中构建具有这些接口的类型库,然后将类型库导入到C语言中,并实现接口。 这种方法对于复杂的接口很有用,因为在这些接口中,封送并不简单。 版本应该是COM样式,更改guid,添加新的或继承的接口。 |
![]() |
Cleric · C#运行主动自动化对象-如何源事件? 7 年前 |
![]() |
Daniël J · 使用GUI制作COM服务器的最佳实践是什么? 7 年前 |
![]() |
Toponimo · 从Python访问COM方法 7 年前 |
|
user8666372 · 自动向可用引用添加引用 7 年前 |