2011-04-12 61 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文件中的條目