Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.30;
Скачать: CL | DM;

Вниз

Получение списка параметров динамически загружаемой функции   Найти похожие ветки 

 
Anet   (2003-04-28 10:31) [0]

Как это сделать? Заранее спасибо


 
Digitman ©   (2003-04-28 11:47) [1]

Программно ? Считай, что - никак.
А зачем ?


 
N167   (2003-04-28 11:53) [2]

В общем случае - действительно, никак


 
Anet   (2003-04-28 12:04) [3]


> Digitman © (28.04.03 11:47)
> Программно ? Считай, что - никак.
> А зачем ?

Необходимо осуществить форвардинг функций. Программа вызывает фунцию Proc(A,B:Byte) из библиотеки, кот. в свою очередь обращается к другой библиотеке. Я понимаю, что искать надо где-то в регистрах - но Асм, к сожалнию, не моя стихия


 
Игорь Шевченко ©   (2003-04-28 12:34) [4]

Если вызываемая функция имеет соглашение stdcall, то смотреть по ее листингу или отладчиком, сколько байт она прибавляет к стеку в команде ret.
Поделив на 4 получается количество аргументов.


 
Anet   (2003-04-28 12:40) [5]


> Поделив на 4 получается количество аргументов.


А где можно узнать размер каждого параметра? (неужели всегда 4)


 
Digitman ©   (2003-04-28 12:47) [6]


> форвардинг


при форвардинге декларация ф-ции заранее известна, иначе это не форвардинг в классическом (для Win32) смысле... или я ничего не понял из твоего вопроса


Proc(A,B:Byte)


разве это не декларация ?


 
Anet   (2003-04-28 12:54) [7]

Хм, как бы это объяснить. В общем зря я о форвардинге. Задача такая:
1) получить список функций из ДЛЛ (это уже реализовано)
2) получить для каждой функции количество и размер параметров. Все


 
Anet   (2003-04-28 13:11) [8]

Шевченко спасибо!
Но может кто расскажет больше


 
Игорь Шевченко ©   (2003-04-28 13:17) [9]

Anet (28.04.03 12:54)


> 1) получить список функций из ДЛЛ (это уже реализовано)
> 2) получить для каждой функции количество и размер параметров.
> Все


Второе, в общем случае, НИКАК.


 
Digitman ©   (2003-04-28 15:07) [10]


> Anet


ну а зачем тебе параметры, если в общем случае без документации производителя ты не имеешь ни малейшего представления о функц-ти и условиях применения той ф-ции , параметры которой ты пытаешься определить ?



Страницы: 1 вся ветка

Текущий архив: 2003.06.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-97856
MBo
2003-06-04 17:16
2003.06.30
FAQ ;))


14-97801
Sergey
2003-06-11 17:44
2003.06.30
написание help-ов


3-97482
Disokl
2003-06-04 09:46
2003.06.30
про DBF и BDE


14-97867
Mor
2003-06-10 15:42
2003.06.30
Проблема с хардом


14-97789
Silentium!
2003-06-14 14:05
2003.06.30
для локальной сети....