Форум: "Основная";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
ВнизПомогите с DLL Найти похожие ветки
← →
Эдуард (2002-10-02 08:53) [0]Есть моя DLL. В ней описано пара функций.
Надо узнать если при обращении к функции DLL была вызвана функция, которой не существует, то показать имя вызываемой функции и ее параметры. Если не понятно я как нибудь перефразирую.
Заранее спасибо.
← →
Polevi (2002-10-02 09:00) [1]>Если не понятно я как нибудь перефразирую.
будь добр
← →
VAleksey (2002-10-02 09:07) [2]да уж перефразируй. И поподробнее задачу опиши.
Хотя ... вроде ясно. Просто код приведи в котором ты вызываешь функцию.
← →
Эдуард (2002-10-02 09:51) [3]Короче.
Есть DLL моя, при обращении к ней из внешней программы естественно вызывается какая-то функция, предположительно описанная в этой DLL. Но если нет такой функции, то DLL вернет значение 0, т.е. такой функции нет. А мне надо в DLLMain узнать к какой функции обращалась программа(название функции, и желательно её параметры).
← →
Polevi (2002-10-02 10:12) [4]ты совершенно не понимаешь что есть DLL
>то DLL вернет значение 0
ты имеешь в виду GetProcAddress ??
книжку тебе надо почитать, а пока можешь даже не пытаться написать что-ниюудь, рано тебе IMHO
← →
Эдуард (2002-10-02 10:46) [5]Мля.. Я не имел ввиду в прямом смысле или точно. Я просто хочу донести суть. Имею ввиду что например rundll32.exe напишет "Несуществующая точка входа" если функуции вызываемой в DLL существовать не будет (или что-то вроде того). А мне надо чтоб моя DLL (о которых я совершенно не понимаю :)) обработала это сама и поняла что вызывается функция (например "disablekeypad") и сказала мне (например "Вызвана функция disablekeypad"). Блин теперь понятно????
← →
Эдуард (2002-10-02 10:48) [6]И еще 2Polevi: Перед тем как сказать " можешь даже не пытаться написать что-ниюудь, рано тебе IMHO" лучше бы прочитал оба сообщения, и попытался понять что мне требуется. А если не можешь(не хочешь) помочь то какого лезешь? А обосрать каждый может IMHO.
← →
Игорь Шевченко (2002-10-02 11:02) [7]Эдуард (02.10.02 10:48)
Книги, оно все-таки надо читать, оно рулез есть. Тогда подобных фраз
> Но если нет такой функции, то DLL вернет значение 0, т.е.
> такой функции нет
просто не напишешь. Потому как вызов функции из DLL не имеет никакого отношения к DLLmain
← →
Эдуард (2002-10-02 12:06) [8]Вы меня вообще извините за неграмотнось. Но все-таки может найдется добрый человек и поможет мне. Еще раз попробую изложить суть проблемы.
Есть моя DLL, в которой описаны две функции, которые могут вызываться например так rundll32.exe mydll.dll,showmessage.
Если здесь уже не понятно, то напишите.
Затем я обращаюсь к ней(DLL) таким образом rundll32.exe mydll.dll,unknown. Подразумевается, что функция unknown не описана в DLL.
Вопрос в том, что мне надо чтоб DLL поняла что пытаюсь я вызвать функцию unknown и дала мне об этом знать.
Надеюсь, что сейчас все понятно.
← →
Игорь Шевченко (2002-10-02 12:08) [9]
> Вопрос в том, что мне надо чтоб DLL поняла что пытаюсь я
> вызвать функцию unknown и дала мне об этом знать.
Невозможно
← →
Эдуард (2002-10-02 12:13) [10]А как нибудь типа Application.ExeName и ParamStr()
← →
Digitman (2002-10-02 12:18) [11]>Эдуард
DLL (вернее - исп.код в ее составе) знать ничего не знает (и знать не может !) ни о каких ее "вызовах извне" до тех пор, кока вызывающий код не передаст явное и корректное управление по некоему адресу, который фигурирует в таблице экспорта этой DLL.
← →
Юрий Зотов (2002-10-02 12:24) [12]> Эдуард
Сравним DLL с моей записной книжкой. Вызовы ее функций - это звонки по телефонам, которые в ней записаны. Я звоню человеку - он что-то делает.
Вы хотите, чтобы о моем звонке по постороннему телефону (не записанному в книжке) узнал кто-то из тех, кто в ней записан и что-то сделал. САМ узнал, без дополнительных оповещений.
Скажите, это возможно?
DLL - это набор функций. КАК одна из этих функций может САМА узнать, что Ваша программа что-то там попыталась сделать?
И DllMain здесь ни при чем. Это всего лишь код, который автоматически выполняется при загрузке и выгрузке DLL. Но не при вызовах ее функций (или при попытках их вызовов).
← →
Эдуард (2002-10-02 12:24) [13]Понятно. Вот этого я незнал.
А вот в DLLMain есть типа DLLProc, в которой есть param1.
И если он(PAram1) равен DLL_THREAD_ATTACH, то неужели уже здесь DLL не щнает к какой функции идет обращение?
← →
Эдуард (2002-10-02 12:25) [14]Все на предыдущее сообщение забейте.
Всем большое спасибо за понимание и терпимость ко мне.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c