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

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进程加载 

发布了18 篇原创文章 · 获赞 1 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章