Нужно вызвать функцию из 16bit DLL, используя функцию QT_THUNK.
Но туда нужно передать указатель на буфер, который эта функция должна заполнить... Как транслировать указатель в 16bit ?
[Win32] direct thunk23.10.03 13:04 Автор: :-) <:-)> Статус: Elderman Отредактировано 23.10.03 13:06 Количество правок: 1
Посмотри исходники ex2fs - плагин к Total Commander, позволяющий читать Линуксовые разделы под Виндами. Он open-source.
Там вызов 16bit DLL сделан через thunk compiler.
Если ты вызываешь QT_Thunk напрямую, то нужно аллокировать буфер с помощью "недокументированной" функции GlobalAlloc16, она вернет 16-битный указатель (селектор:смещение), который можно передать в 16bit DLL.
А обращаться к этому буферу в 32-битной проге можно преобразовав этот указатель в 32-битный с помощью WOWGetVDMPointer.