外面写的dll,导入到winCE Device中,如何注册?

本文介绍了一种通过修改注册表来实现DLL动态加载的方法。主要步骤包括:在注册表特定位置添加键值、在DLL中定义指定接口、安装并签名证书、复制DLL到指定目录及重启设备等。

1. 在注册表中的下面位置添加如下键值:
   [HKEY_LOCAL_MACHINE/Services]下面增加一个Key(比如ExDLL)
2. 在ExDLL下增加如下Value
  [HKEY_LOCAL_MACHINE/Services/DMNotify]
  "Context"=dword:00000000
  "Index"=dword:00000000
  "Prefix"="###"          //三个字符前缀,下面会提到
  "Keep"=dword:00000001
  "Dll"="DMNotify.dll"    //DLL的路径和名称,默认是Windows目录
  "Order"=dword:000000c8  //DLL被加载的顺序,尽量写大点,这里是200
3. 在外部DLL中导出如下接口(###为注册表中需要些的字符,只能为三个字符的前缀)
extern "C"  _declspec(dllexport) DWORD ###_Init(DWORD dwData)
{
    //for something
    return 1
}
extern "C"  _declspec(dllexport) DWORD ###_IOControl(DWORD dwData,
                                                    DWORD dwCode,
                                                    PBYTE pBufIn,
                                                    DWORD dwLenIn,
                                                    PBYTE pBufOut,
                                                    DWORD dwLenOut,
                                              PDWORD pdwActualOut)
{
  //for something
  return 1;
}
extern "C"  _declspec(dllexport) DWORD ###_Deinit(DWORD dwData)
{
  //for something
  return 0;
}
4、在设备上安装证书并且给DLL签名
证书路径“安装SDK的路径/Tools/Security/SDK Development Certificates/Certs.cab”此文件拷贝到手机安装
5、把DLL拷贝到Windows目录
6、重启设备,如果加载成功,DLL文件会被Service进程加载 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值