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

Вниз

Как можно экспортировать функцию по EntryPoint (ordinal)?   Найти похожие ветки 

 
Е95   (2015-10-10 04:21) [0]

Добрый ночь!
Есть системная функция, которая как я понял не экспортируется по имени. В описании указано: Exported by ordinal only.
Я так понял (но ещё не полностью разобрался) нужен GetProcAddress? Но может Паскаль/Делфи умеют экспортировать проще? Как обычно?

Пример 1 (заголовок для Делфи, функция по имени):

function PrintWindow(HWND:HWND;hdcBlt:HDC;nFlags:DWORD):BOOL; stdcall; external "user32.dll";

Пример 2 (заголовок для Шарпа, функция по точке):

[DllImport("SomeDLL.dll", EntryPoint = "#2", CharSet = CharSet.Unicode)]
public static extern int OpenThemeFile(string p1, string p2, string p3, out IntPtr p4, int p5);


Как-то возможно так же сделать (перевести) для Делфи? Или в принципе не поддерживается? Как понять "#2"?
Если что - у меня есть разные версии Делфи и FreePascal.


 
Игорь Шевченко ©   (2015-10-10 10:09) [1]


> function PrintWindow(HWND:HWND;hdcBlt:HDC;nFlags:DWORD):
> BOOL; stdcall; external "user32.dll";

импорт по имени

function SHChangeIconDialog: Boolean; external "shell32.dll" index 62; - импорт по номеру


 
Е95   (2015-10-10 13:15) [2]

Спасибо! А как понять в объявлении для Шарпа - EntryPoint="#2" ?
Просто немного смущает символ "#" и ещё что это строка, а не число.


 
Dimka Maslov ©   (2015-10-10 18:56) [3]

Попробовать не пробовал?
либо index 2, либо name "#2". А вообще заведи себе прогу Dependency Walker.


 
Игорь Шевченко ©   (2015-10-11 10:32) [4]


> А как понять в объявлении для Шарпа - EntryPoint="#2" ?


Спросить на форуме по Шарпу


 
Е95   (2015-10-12 15:46) [5]

DependencyWalker не нашёл функций с похожими именами. Где там по индексам/номеру не увидел.
Пробовал конечно, пару раз словил AV, думал, понял что у меня кажется тип данных не правильно описан, искал, переписываю на паскаль.

Спасибо ещё раз!



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
6-1283385235
Gu
2010-09-02 03:53
2017.07.09
Определение региона по ip


4-1281966850
istok
2010-08-16 17:54
2017.07.09
узнать, находится ли фокус ввода в окне или нет...


15-1463750462
Кто б сомневался
2016-05-20 16:21
2017.07.09
IActiveScript в Delphi (создание Msxml2.DOMDocument в vbs = AV)


2-1445034926
shkolnik
2015-10-17 01:35
2017.07.09
Задача по программированию


2-1445006653
AndrG
2015-10-16 17:44
2017.07.09
constant expression violates subrange bounds