佚名通过本文主要向大家介绍了com组件,com组件是什么,com组件下载,com组件注册,com组件编程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: COM组件中如何返回一个void类型的指针?
描述:
解决方案1:
描述:
或是其他类型的,例如自定义的类的指针?
解决方案1:
可以通过COM传递任意类型的指针,前提是COM客户端支持对应的数据类型。如果你的COM客户端是通过自动化而不是C++接口访问对象,那么就只能使用自动化支持的类型。对于你的问题,要传递一个窗口对象的话,可以将窗口句柄转换成LONG再作为参数。
要传递自定义结构到自动化客户端的话,一种方法是把自定义结构改写成支持IDispatch的自动化对象,另外一种方法是将自定义结构保存到支持IStream接口的内存流对象,然后传递流对象的IUnknown接口。这种方法依赖于自定义结构的内存表示(随不同的编译器设置和操作系统而异),并且在传递过程中可能占用大量内存。