MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Вызвать функцию из dll"
Answer 984565
Странные у вас учебные задания. Ошибка возникает из-за того, что тип HMODULE, который определен как указатель на структуру
struct {int unused;}
, несовместим с типом указателя на функцию. Эту ошибку можно убрать приведением типов, но в данном случае это не поможет заставить код работать, так как он выглядит в целом некорректным. Если предположить, что pIED - это указатель на структуру IMAGE_EXPORT_DIRECTORY, определенную в winnt.h (которая описывает раздел экспорта PE-файла), то адрес функции должен вычисляться так:MessageBoxPointer = (_MessageBoxA)((char*)user32 + Address[i]);
Тип HMODULE нужно привести к указателю на один байт, чтобы адресная арифметика работала как ожидается. Переменная user32 содержит базовый адрес DLL, а Address[i] - относительный адрес функции, поэтому мы их складываем. Ordinal не нужен.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.