com组件如何传递指针参数?

rt

作者: iuioeu   发布时间: 2011-06-15

直接返回就是啦..只要, 把个指针返回给外部, 除非是基本类型的指针, 否则外部拿着这个指针也不知道用来干什么....
假如是返回类的指针, 应该是采用COM的标准方式查询接口来实现

作者: dfasri   发布时间: 2011-06-15

我的问题是:

如果COM组建在远程,那么我的本地程序得到这个指针,得自己释放本地的内存拷贝吧!

同时远程也得释放一遍自身的内存

那不就成了释放两次了,两边都得释放?

作者: iuioeu   发布时间: 2011-06-15

晕...远程的地址传过来, 你能拿这个地址做什么? 远程的只能传送序列化的数据. 换句话说, 就是要把指针指向的内容变成一个二进制流, 然后拿过来后用这些二进制流还原成对象, 再用这个对象操作的...
所有远程的什么句柄等等之类的都不能够传的..因为传了也没用, 资源是在远程那台机, 不是在你本机.

作者: dfasri   发布时间: 2011-06-15

进程内组件随便用 跟普通类指针没区别 进程外 简单的标准列集就好 如用ATL开发的 就把生成的存根代理DLL(xxxxPS.dll)注册下就好

作者: ittaoist   发布时间: 2011-06-15

引用 2 楼 iuioeu 的回复:
我的问题是:

如果COM组建在远程,那么我的本地程序得到这个指针,得自己释放本地的内存拷贝吧!

同时远程也得释放一遍自身的内存

那不就成了释放两次了,两边都得释放?

远程是序列化,底层帮你做了数据拷贝的一份...你不用考虑远程的,只要释放自己的

作者: oyljerry   发布时间: 2011-06-15