WinCE 和XP之间的DCOM配置
目前XP之间的DCOM配置相信已经不是什么问题了,网上也有很多介绍这方面的文档,但是WinCE平台和Win32平台之间的DCOM配置网上的资料还是比较少的。WinCE在3.0以后加入了对DCOM组件的支持,这样使得WinCE和Win32的之间的DCOM成为了可能。
但是WinCE作为一种嵌入式系统不像Win32那样带有相关的配置组件,比如WinCE本身就没有用户的概念。可喜的是,目前WinCE下也有了对应Windows的配置工具,这些工具包括:
opcenum: 可以枚举本机或远程计算机上的opc服务器
DCOMCNFG:WinCE下的DCOM配置工具
UserMgr:WinCE下的用户管理工具
实现WinCE下的DCOM可以通过以下步骤完成:
1. 在生成WinCE OS时加入DCOM相关的组件,可以通过查看系统环境变量检查是否添加了这些组件,系统环境变量需要包括下面几个:
set SYSGEN_ATL=1 /*支持ATL*/
set SYSGEN_DCOM=1 /*支持DCOM,提供完整COM支持*/
set SYSGEN_DCOM_REMOTEACCESS=1 /*支持DCOM远程访问*/
set SYSGEN_DCOM_STG=1 /*提供COM的结构化存储功能*/
set SYSGEN_TCPIP=1 /*支持TCP/IP协议*/
2. 注册OPC的代理文件以及opcenum工具
3. 使用DCOMCNFG 和 UserMgr 进行WinCE下的DCOM配置
4. 可以编写简单的测试代码测试DCOM配置是否正确
可以检测CoCreateInstanceEx函数执行返回的结果,如果是 返回 拒绝访问 错误 则是服务器端的DCOM配置不正确,如果无法产生回调则说明客户端的DCOM配置存在问题。