<<Windows CE 系统进程外组件应用开发 >> 文章的解读

转载请标明是引用于 http://blog.csdn.net/chenyujing1234

解读文章:

http://blog.csdn.net/tttyd/article/details/6237904

这里和我的另一篇文章相比较来解读:

 http://blog.csdn.net/chenyujing1234/article/details/7373283

 

服务端:

不同点有两个:

1、创建方法可以参考我方法一样,只不过作者把它创建为exe方式了。如果是EXE,那么怎么用regsvrce.exe来注册呢

2、编译出错的处理方法不一样:

在原文中讲到"需要定义一些宏才能编译通过。另外定义一个 def 文件",所以增加了ServDemoPS工程。

// dlldata.c 的包装

//#ifdef _MERGE_PROXYSTUB // 合并代理存根(stub) DLL

#define REGISTER_PROXY_DLL //DllRegisterServer 等

#ifndef _WIN32_WCE
#define _WIN32_WINNT 0x0400	//对于 WinNT 4.0 或安装了 DCOM 的 Win95
#else
#define WIN32
#endif
#define USE_STUBLESS_PROXY	//仅当使用 MIDL 开关 /Oicf 时定义

#ifndef _WIN32_WCE
#pragma comment(lib, "rpcns4.lib")
#endif
#pragma comment(lib, "rpcrt4.lib")

//#define ENTRY_PREFIX	Prx

#include "dlldata.c"
#include "ServDemo_p.c"

//#endif //_MERGE_PROXYSTUB


 

但在我的原文里也

提到了编译出错的情况,那时是通过

后把Add.h里的

#ifndef _CE_DCOM
DECLARE_REGISTRY_RESOURCEID(IDR_ADD)
#endif

改为

//#ifndef _CE_DCOM
DECLARE_REGISTRY_RESOURCEID(IDR_ADD)
//#endif

来修改的。

 

 

客户端:

不同的地方是调用的方法不一样:

 

在原文中有"EventHandler.h,协助客户端在不使用 ATL 情况下接受 COM Server的事件",其实代码里并没有实现COM Server的事件的接收,而只是主动调用,

在原文中它的用法是:

#import "..\ServDemo\CE6_SDK (ARMV4I)\Debug\ServDemo.exe"
using namespace ServDemoLib;

#include "EventHandler.h"
using namespace TEventHandlerNamespace;
typedef TEventHandler<IAlgorithm,_IAlgorithmEvents> EventHandler;


IAlgorithm,_IAlgorithmEvents未去定义,但它是通过ServDemo.exe引进来的.

 

 

而在我的文章中是通过sink方法,查看Sink.h

显然他的方法更简单一点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值