Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2017.07.09;
Скачать: [xml.tar.bz2];

Вниз

Как можно экспортировать функцию по 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;
Скачать: [xml.tar.bz2];

Наверх





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


2-1444440112
Е95
2015-10-10 04:21
2017.07.09
Как можно экспортировать функцию по EntryPoint (ordinal)?


2-1444454791
steremin
2015-10-10 08:26
2017.07.09
MS Access ошибка при открытии файла!


2-1444423211
Михапыч
2015-10-09 23:40
2017.07.09
Ошибка компиляции


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский