2940|3

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

高手请进:WinCE下COM组件的线程模型问题! [复制链接]

我想在WinCE下做一个多线程访问共享数据的东东,想用COM组件来封装,利用它APARTMENT方式来达到数据同步。

但在WinCE6.0下没有用起来!
不很清楚WinCE6.0对COM的支持如何,请有经验的高手指点,谢先了!

引用:wince6.0下对COM的支持描述如下!
The following levels of run-time support for COM-based applications are supported:

Minimal COM provides a baseline API set for COM object creation. This Catalog item requires about 10–20K of memory and is only available in headless OS designs.


COM provides a midrange implementation of COM and Automation that supports only in-process free-threaded objects and requires about 100–200K of memory.


The Distributed Component Object Model (DCOM) provides a full-featured COM implementation equivalent to Microsoft Windows NT® 4.0 SP5 and requires more than 700K of memory.



In addition, you can add storage functionality to any one of the three COM implementations by adding the COM Storage Catalog item.

Note:  
Distributed COM (DCOM), sometimes also referred to as "COM Remoting", is not included in Windows Embedded CE. Please see Remote DCOM Support for more information.

最新回复

怎么没有人回呀  详情 回复 发表于 2007-8-13 16:51
点赞 关注

回复
举报

129

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
PB生成SDK时候,我选用COM组,即SYSGEN_OLE/SYSGEN_OLE_GUIDS/SYSGEN_OLE_STG

在生成COM组件的时候加上/D _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA可以编译过!
但是FREE方式,不是APARTMENT的方式。
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
当选用DCOM的时候,编译也报错,我的处理是注视掉条件编译:
//#ifndef _CE_DCOM
DECLARE_REGISTRY_RESOURCEID(IDR_WAN)
//#endif
可以通过,但在调用的时候结果不正确(在CoCreateInstance返回“没有注册接口”):
                        //if(SUCCEEDED(CoInitialize(NULL)))
                        hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
                        if(SUCCEEDED(hr))
                        {
                                hr = CoCreateInstance(CLSID_WAN, NULL, CLSCTX_INPROC_SERVER,
                                IID_IWAN, reinterpret_cast(&pComA));
                                if (SUCCEEDED(hr))
                                {
                                        //hr = pIDs->QueryInterface(IID_ICOMA, (LPVOID *)&pComA);
                                        return TRUE;
                                }
                        }
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

4
 
怎么没有人回呀
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表