Loopback
|
Posted: Tue Jun 15, 2010 23:47 Post subject: |
|
|
MVV wrote: | А вот с Autorun_PluginInit какой-то косяк - вызывается она явно не как __stdcall, также я пробовал __fastcall и __cdecl, ни при одном из них я не нахожу в стеке этих параметров на нужном месте. Ерунда какая-то. Кстати, какой размер буфера - чему равна MaxListSize (может, хоть ее найду)? |
Точно, косяк. Не объявил прототип вызывамой функции как stdcall. Перезалил, должно работать.
MVV wrote: | Корректные прототипы функций: |
Спасибо, делал по памяти, позабыл уже.
MVV wrote: | И вопрос - что такое HModule nProcID? В Си нет такого типа, но есть тип HMODULE (регистр в Си важен). Но я вообще не въеду, что с этим хэндлом можно делать. Зачем он? |
Согласен, передавать результат вызова одной стандартной функции - излишество Уберу.
MVV wrote: |
дескриптор окна ТК передается плагином (кстати, ты окно ищешь с учетом его принадлежности текущему процессу? ).
|
Конечно.
MVV wrote: |
Не представляю, какие еще могут понадобиться дескрипторы для работы. А если и могут, то DLL их по идее может получить так же точно, как и твой плагин. |
Могут, конечно, но почему бы не передать некоторые данные, поиск которых занимает некоторое время, но которые уже найдены?
Собственно идея была именно в этом. Если возникнут какие-нибудь мысли насчет такой информации - можно ее добавить в структуру.
MVV wrote: | Также плохо понятно (хотя смотрится интересно), зачем добавлять функции из DLL в список. Их потом можно прямо из конфига запускать? |
Это не "реальные" экспортируемые функции dll. Например, плагин сообщает, что он поддерживает некую функцию "MyFunc". Мы можем это имя использовать в скрипте, причем с неограниченным количеством параметров. Autorun парсит строку и вызывает из соответствующего плагина функцию Autorun_ExecFunc, которой передает имя MyFunc и массив параметров. Что с этим делать дальше - зависит от автора плагина. |
|