我在com中有一个接口的方法:
typedef struct REC
{
long age;
};
STDMETHODIMP CRecManage::GetStudent(REC **pRec)在客户端用
REC *pRec=NULL;
reccom->GetStudent(&pRec);来取值,那么我的com端,应该怎样分配内容,那么又在哪释放呢?
帮忙啊!分数不够可再加
typedef struct REC
{
long age;
};
STDMETHODIMP CRecManage::GetStudent(REC **pRec)在客户端用
REC *pRec=NULL;
reccom->GetStudent(&pRec);来取值,那么我的com端,应该怎样分配内容,那么又在哪释放呢?
帮忙啊!分数不够可再加
解决方案 »
- 如果用mfc开发类似"360安全卫士"这样的软件,是不是建立"dialog based"的工程呢?
- 管道编程 gdb调试
- MFC如何动态创建一个只能输入UINT类型的编辑框
- HOOK 问题
- WINCE中绘制多边形的问题
- 急求:NXN矩阵特征值求法。谢谢各位了
- http Post 问题。大量数据。
- 如何提取CImageList中的位图,转换为icon
- 有关笛卡尔坐标于极坐标的转换函数void cartToPolar()
- 如何判断某个线程是挂起还是执行中?
- 求软件工程师从书 VISUAL C++.NET 高级编程技术与范例 由电子工业出版社出版的配套书光盘源代码。送100分。
- 串口高手请进(非高手不要凑热闹)
如果返回的是New出来的REC,那么客户端需释放。
如果返回的是reccom的成员变量,在栈区,那么不需要客户端管理了。
我觉得你这样就足够了:
STDMETHODIMP CRecManage::GetStudent([out]REC *pRec)
......
REC rec;
reccom->GetStudent(&rec);
或
REC* pRec = new REC;
reccom->GetStudent(pRec);
delete pRec;
pRec == NULL;
最好是像ColderRain(一切尽在不言中) 说的,自己分配自己释放,肯定不会出问题。
但如果是new 出来一个数组,还是要在外面new比较好