Создание invoke'абельных библиотек импорта
Я один из тех, кто очень неохотно использует вышеприведенный подход.
Использовать invoke гораздо более удобно. Это одна из причин, по которой я
предпочитаю MASM TASM'у. Hо как было сказано ранее, практически невозможно
создать invoke'абельную библиотеку импорта с помощью той процедуры, что
была изложена выше. Hапример, вы можете решить, что если вы измените имена
функций в .def-файле, чтобы туда входило "@xx", библиотека импорта может
заработать как надо. Поверьте мне. Это не будет работать.
Более легкий путь создать invoke'абельную бибиотеку импорта - это
использовать сам MASM. Если вы создадите DLL, то вы обнаружите, что вместе
с ней получили библиотеку импорта, которая будет полностью invoke'абельна!
Hаша стратегия заключается в следующем:
с правильным числом и размером аргументов.
соответствующие функции.
Вот и все. Вы получите полностью функциональную MASM'овскую библиотеку
импорта. Вышеприведенные шаги заслуживают более подробного объяснения.