2011-04-12 58 views
1

我得到了答案,需要了解以下内容:如何使用WinCE 5.0 RTOS在ATL应用程序中加载第三方.dll(COM DLL)?

我有一个WinCe 5.0 ATL应用程序。这个应用程序是使用第三方COM DLL和第三方应用程序(.exe)的按我的WinCE和加载DLL的理解。至于是如下:

WinCE的:

所有DLL导出函数应该写成“ .Def“文件和需要包含在运行时图像处理过程中的dll应该在”.bib“文件中。并且应该调用DLLExport或loadlibrary(我不想深入了解如何使用这些文件),以加载DLL。

但在我的情况下:没有与第三方dll和.bib文件相关的.def文件,但是,.dll的路径在文件中被注释(我的代码正在成功构建,能够制作运行时图像)。

随着这一个额外的文件我得到了:即,.cfg(我认为配置文件),并在它被写入“SERVICE name.dll(例如,这是第三方DLL名称)”。我可以使用“Dll导出查看器(免费工具)”查看导出的函数,但无法从应用程序中找到(调用)导出函数的使用。

我可以编写.cfg文件并包含将由应用程序使用的dll吗?任何人都可以帮助我理解所有这些?

在此先感谢...


回答

1

我不是100%肯定我明白的问题,所以我会套用什么,我认为你问:

  • 你有一个ATL应用程序和它为Windows CE构建的COM库。
  • 这些项目是由第三方提供的,所以你没有源代码
  • 你要将这些项目直接集成到一个CE操作系统建立

如果我的理解是正确的,那么回答是:

是的,你可以这样做。你需要做的是:

  1. 将二进制文件(EXE和DLL)添加到操作系统映像。这是通过将它们添加到您的BIB文件(PLATFORM.BIB或PROJECT.BIB)来完成的。他们可以在模块或文件部分。
  2. 通过将条目添加到REG文件(PLATFORM.REG或PROJECT.REG)中,为COM对象添加必要的注册表项。

如果你没有为#2项,然后执行以下操作:

  1. 使用远程注册表编辑器导出整个注册表对设备没有你的COM库安装
  2. 把COM对象到该设备
  3. 调用COM对象上的DllRegisterServer入口点(regsvrce或然)
  4. 使用远程注册表编辑器导出整个再次登录设备
  5. 区分两个reg文件。新条目是您需要放在REG文件中的条目