мне нужно написать DLL (с МСВС 2010 PS1), который вызывает функцию, экспортируемую из EXE-файла:Используя пустой указатель, полученный DllImport [МСВС C++ 2010]
(dll.h): extern "C" __declspec(dllimport) void* __stdcall SomeFunction();
Проблема заключается в том, что пустота указатель может указывать на любой тип данных и разработчики exe не предоставляют никаких рекомендаций по использованию этой функции. К счастью еха проект с открытым исходным кодом, и я могу видеть, что SomeFunction фактически возвращает указатель на структуру, которая объявлена в structures.h файла, который используется для компиляции EXE-файла:
struct exeStructure {int useme; int usecallback; <...> };
- Как использовать эту информацию установить переменную usecallback из DLL? Не могли бы вы привести пример?
- Как мне разыменовать void * SomeFunction в exeStructure?
- Нужно ли копировать и включать файл structure.h в свой DLL-проект?
Включите structures.h в проекте и отдать свою недействительный * правильный тип. –