![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.05.2009
Сообщений: 4
|
![]()
Есть длл, NET COM, и нужно как-то вызвать функцию, которая не экспортируется.
Есть тут гуру? |
![]() |
![]() |
![]() |
#2 |
.NET-чик
Форумчанин
Регистрация: 24.03.2007
Сообщений: 569
|
![]()
Не понятно ничего. Не зная адресса функции вы не сможете её вызвать если это обычные dll библиотеки, а не .NET. В .net нет как таковых отдельных функций, есть классы со статическими функциями. А найти функцию можно при помощи рефлексии
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок ![]() |
![]() |
![]() |
![]() |
#3 | |
Регистрация: 07.05.2009
Сообщений: 4
|
![]() Цитата:
Это СОМ библиотека, просто в ней есть код, которым мне нужно воспользоваться, но он не экспортируется, а просто находится внутри экспортируемой функции. Мне нужно подменить параметры вызова ее(из своей программы вызвать с нужными мне параметрами). |
|
![]() |
![]() |
![]() |
#4 |
.NET-чик
Форумчанин
Регистрация: 24.03.2007
Сообщений: 569
|
![]()
Я так понял есть экспортируемая функция которая возвращает COM-интерфейс. Тогда объявите этот интерфейс у себя и функцию тоже, а далее при помощи определенных атрибутов пометте интерфейс и функцию
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок ![]() |
![]() |
![]() |
![]() |
#5 | |
Регистрация: 07.05.2009
Сообщений: 4
|
![]() Цитата:
У меня есть СОМ библиотека, ее объявить не проблема, но, я ее дисассемблировал, в ней есть некая функция(ИДА называет ее sub_04128880 (например), которая вызывается одной из экспортируемых функцией (InitInterface), но меня не устраивают параметры с которыми sub_04128880 вызывается! Мне нужно передать свои параметры и вызвать. Примерно так. |
|
![]() |
![]() |
![]() |
#6 |
.NET-чик
Форумчанин
Регистрация: 24.03.2007
Сообщений: 569
|
![]()
Попробуйте тогда вызов sub_04128880 перекомпилировать с нужными вам параметрами или прямо эту функцию экспортировать.
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок ![]() |
![]() |
![]() |
![]() |
#7 |
Регистрация: 07.05.2009
Сообщений: 4
|
![]() |
![]() |
![]() |
![]() |
#9 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
![]()
Возможно это то, что Вам нужно:
Код:
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 14.07.2009
Сообщений: 51
|
![]() Код:
Совершенно правильно. Кстати так можно играться с WinAPI, которые находятся в DLL. Только нужно уметь конвертировать указатели и типы не присутсвующие .NET. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как вызвать функцию? | blackstersl | Общие вопросы Delphi | 10 | 07.06.2009 19:22 |
Вызвать адрес памяти как функцию | XAOC-forever | Общие вопросы Delphi | 18 | 07.03.2009 20:32 |
как вызвать в Dll по указателю функцию, которая определена в главном потоке? | SaintRain | Общие вопросы Delphi | 1 | 25.11.2006 08:27 |
как вызвать из Dll функцию, которая определена в главном потоке? | SaintRain | Win Api | 1 | 23.11.2006 20:08 |