社区
ATL
帖子详情
关于IMalloc和Mashaling
ecore2Aftron
2003-10-21 10:20:39
我不明白的是,假设我在进程外组件和客户之间传递一个out型的指向一块内存区的指针.那么我是否可以在服务器方用CoTaskMemAlloc分配内存,然后直接传递给客户,而不用使用比如size_is这样的属性来说明内存(数组)的大小.此外,是否用了size_is等这样的属性来良好的支持正确的mashaling,我是否又是可以不用CoTaskMemAlloc来分配内存呢?而是直接new(服务器方)和delete(客户方).
...全文
117
3
打赏
收藏
关于IMalloc和Mashaling
我不明白的是,假设我在进程外组件和客户之间传递一个out型的指向一块内存区的指针.那么我是否可以在服务器方用CoTaskMemAlloc分配内存,然后直接传递给客户,而不用使用比如size_is这样的属性来说明内存(数组)的大小.此外,是否用了size_is等这样的属性来良好的支持正确的mashaling,我是否又是可以不用CoTaskMemAlloc来分配内存呢?而是直接new(服务器方)和delete(客户方).
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lop5712
2003-10-22
打赏
举报
回复
对于out参数,正如楼主所说,必须CoTaskMemAlloc和CoTaskMemFree
当跨进程时,服务器端的占位(stub)发送一个标志,告知客户端的代理(proxy)分配一块内存,然后将stub传过来的数据考到那块内存中,stub删除由服务器通过CoTaskMemAlloc分配的内存,proxy将它分配的内存的指针传给客户,当客户端调用CoTaskMemFree释放内存时,其实释放的是proxy分配的内存(不是服务器分配的内存)
因此,必须使用CoTaskMemAlloc和CoTaskMemFree,否则就无法实现上面的机制了
zyong310
2003-10-22
打赏
举报
回复
在COM中客户和服务器共同管理内存,所以最好是使用IMalloc来处理,但是如果服务器对象仅仅申请自己内部用的内存,那就无所谓,只要内部匹配就可以了,比如用了new就要用delete,用来malloc就用free。传递CoTaskMemAlloc申请的内存的时候必须指定size,否则不能正确列集。
ecore2Aftron
2003-10-22
打赏
举报
回复
我所描述的自然是:一个out参数;
在服务器方分配内存,在客房释放内存.
所以,典型的就是服务器用CoTaskMemAlloc,然后传递,然后客户用CoTaskMemFree.
是这样的么?
可是,现在服务器和客户不在一个进程.我所知道的,IMalloc的实现机制实际上就是在进程的私有堆上.所以,其可以满足在进程内跨堆的分配.但现在跨进程了啊.......
这个机制还能使用么?
也许,列集的工作会自动把这些处理好吧.
易语言类实现I
Ma
lloc
接口
易语言类实现I
Ma
lloc
接口源码,类实现I
Ma
lloc
接口,Release,Alloc,Realloc,Free,GetSize,DidAlloc,HeapMinimize,类接口调用构造运行代码_0,类接口调用构造运行代码_通知_原代码发生变化,CoGet
Ma
lloc
易语言源码易语言类实现I
Ma
lloc
接口源码.rar
易语言源码易语言类实现I
Ma
lloc
接口源码.rar 易语言源码易语言类实现I
Ma
lloc
接口源码.rar 易语言源码易语言类实现I
Ma
lloc
接口源码.rar 易语言源码易语言类实现I
Ma
lloc
接口源码.rar 易语言源码易语言类实现I
Ma
lloc
接口源码.rar 易语言源码易语言类实现I
Ma
lloc
接口源码.rar
易语言源码类实现I
Ma
lloc
接口.rar
易语言编程源码,大家可以参考学习
易语言类实现I
Ma
lloc
接口源码-易语言
易语言类实现I
Ma
lloc
接口源码
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章