Как я могу загрузить сторонний .dll (COM DLL) в приложении ATL с WinCE 5.0 RTOS? - PullRequest
1 голос
/ 12 апреля 2011

Я получил ответ и должен понять следующее:

У меня есть приложение WinCe 5.0 ATL.Это приложение использует сторонние COM dll и сторонние приложения (.exe). Насколько я понимаю, загрузка WinCE и Dll выглядит следующим образом:

WinCE:

Все экспортированные функции dll должнызаписываться в файл ".Def", а DLL, которые необходимо включить во время процесса создания образа, должны быть в файле ".bib". И нужно вызывать DLLExport или loadlibrary (я не хочу углубляться в то, как их использовать), для загрузки DLL.

Но в Моем случае: не существует файла .def, относящегося к сторонним файлам dll и .bib, но путь к файлу .dll комментируется в файле (Мой код успешно строится, и я могу сделать образ во время выполнения).

Вместе с этим еще одним дополнительным файлом, который я получил: То есть .cfg (я думаю, файл конфигурации) и в нем написано «SERVICE name.dll (например, это имя dll стороннего производителя)«Я могу видеть экспортированную функцию с помощью« Dll Export Viewer (бесплатный инструмент) », но не могу найти использование (вызов) экспортируемых функций из приложения.

Могу ли янаписать файл .cfg и включить DLL, которая будет использоваться приложением?Может кто-нибудь помочь мне понять все это ??

Заранее спасибо ...


1 Ответ

1 голос
/ 12 апреля 2011

Я не уверен на 100%, что понимаю вопрос, поэтому я перефразирую то, что, по-вашему, вы спрашиваете:

  • У вас есть приложение ATL и библиотека COM, в которой он использует встроенныйдля Windows CE.
  • Эти элементы предоставляются сторонними организациями, поэтому у вас нет исходного кода
  • . Вы хотите интегрировать эти элементы непосредственно в сборку ОС CE

Если мое понимание верно, то ответ:

Да, вы можете сделать это.Что вам нужно сделать, это:

  1. Добавить двоичные файлы (EXE и DLL) в образ ОС.Это делается путем добавления их в ваш файл BIB (PLATFORM.BIB или PROJECT.BIB).Они могут находиться либо в разделе МОДУЛИ, либо в ФАЙЛАХ.
  2. Добавьте необходимые записи реестра для объектов COM на платформу, добавив записи в ваш файл REG (PLATFORM.REG или PROJECT.REG).

Если у вас нет записей для # 2, выполните следующие действия:

  1. Используйте Remote Registry Editor для экспорта всего реестра для устройства без ваша COM-библиотека установлена ​​
  2. Поместите COM-объект на это устройство
  3. Вызовите точку входа DllRegisterServer на COM-объект (regsvrce или однако)
  4. Используйте редактор удаленного реестра для экспортаснова весь реестр устройства
  5. Различаются два reg файла.Новые записи - это те, которые вам нужно поместить в ваш REG-файл
...