com组件如何传递指针参数?
rt
作者: iuioeu 发布时间: 2011-06-15
直接返回就是啦..只要, 把个指针返回给外部, 除非是基本类型的指针, 否则外部拿着这个指针也不知道用来干什么....
假如是返回类的指针, 应该是采用COM的标准方式查询接口来实现
假如是返回类的指针, 应该是采用COM的标准方式查询接口来实现
作者: dfasri 发布时间: 2011-06-15
我的问题是:
如果COM组建在远程,那么我的本地程序得到这个指针,得自己释放本地的内存拷贝吧!
同时远程也得释放一遍自身的内存
那不就成了释放两次了,两边都得释放?
如果COM组建在远程,那么我的本地程序得到这个指针,得自己释放本地的内存拷贝吧!
同时远程也得释放一遍自身的内存
那不就成了释放两次了,两边都得释放?
作者: iuioeu 发布时间: 2011-06-15
晕...远程的地址传过来, 你能拿这个地址做什么? 远程的只能传送序列化的数据. 换句话说, 就是要把指针指向的内容变成一个二进制流, 然后拿过来后用这些二进制流还原成对象, 再用这个对象操作的...
所有远程的什么句柄等等之类的都不能够传的..因为传了也没用, 资源是在远程那台机, 不是在你本机.
所有远程的什么句柄等等之类的都不能够传的..因为传了也没用, 资源是在远程那台机, 不是在你本机.
作者: dfasri 发布时间: 2011-06-15
进程内组件随便用 跟普通类指针没区别 进程外 简单的标准列集就好 如用ATL开发的 就把生成的存根代理DLL(xxxxPS.dll)注册下就好
作者: ittaoist 发布时间: 2011-06-15
引用 2 楼 iuioeu 的回复:
我的问题是:
如果COM组建在远程,那么我的本地程序得到这个指针,得自己释放本地的内存拷贝吧!
同时远程也得释放一遍自身的内存
那不就成了释放两次了,两边都得释放?
我的问题是:
如果COM组建在远程,那么我的本地程序得到这个指针,得自己释放本地的内存拷贝吧!
同时远程也得释放一遍自身的内存
那不就成了释放两次了,两边都得释放?
远程是序列化,底层帮你做了数据拷贝的一份...你不用考虑远程的,只要释放自己的
作者: oyljerry 发布时间: 2011-06-15