![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение списка параметров динамически загружаемой функции
Anet © (2003-04-28 10:31:00)Как это сделать? Заранее спасибо
Digitman (2003-04-28 15:07:00) [1]
> Anet
ну а зачем тебе параметры, если в общем случае без документации производителя ты не имеешь ни малейшего представления о функц-ти и условиях применения той ф-ции , параметры которой ты пытаешься определить ?
Игорь Шевченко (2003-04-28 13:17:00) [2]Anet (28.04.03 12:54)
> 1) получить список функций из ДЛЛ (это уже реализовано)
> 2) получить для каждой функции количество и размер параметров.
> Все
Второе, в общем случае, НИКАК.
Anet (2003-04-28 13:11:00) [3]Шевченко спасибо!
Но может кто расскажет больше
Anet (2003-04-28 12:54:00) [4]Хм, как бы это объяснить. В общем зря я о форвардинге. Задача такая:
1) получить список функций из ДЛЛ (это уже реализовано)
2) получить для каждой функции количество и размер параметров. Все
Digitman (2003-04-28 12:47:00) [5]
> форвардинг
при форвардинге декларация ф-ции заранее известна, иначе это не форвардинг в классическом (для Win32) смысле... или я ничего не понял из твоего вопроса
Proc(A,B:Byte)
разве это не декларация ?
Anet (2003-04-28 12:40:00) [6]
> Поделив на 4 получается количество аргументов.
А где можно узнать размер каждого параметра? (неужели всегда 4)
Игорь Шевченко (2003-04-28 12:34:00) [7]Если вызываемая функция имеет соглашение stdcall, то смотреть по ее листингу или отладчиком, сколько байт она прибавляет к стеку в команде ret.
Поделив на 4 получается количество аргументов.
Anet (2003-04-28 12:04:00) [8]
> Digitman © (28.04.03 11:47)
> Программно ? Считай, что - никак.
> А зачем ?
Необходимо осуществить форвардинг функций. Программа вызывает фунцию Proc(A,B:Byte) из библиотеки, кот. в свою очередь обращается к другой библиотеке. Я понимаю, что искать надо где-то в регистрах - но Асм, к сожалнию, не моя стихия
N167 (2003-04-28 11:53:00) [9]В общем случае - действительно, никак
Digitman (2003-04-28 11:47:00) [10]Программно ? Считай, что - никак.
А зачем ?