У меня есть статический код win32 dll, который должен быть перенесен на платформу x64. Есть много функций, использующих функции Windows GDI, такие как CreateDIBDC, CreatePen и т. Д ....
Проблема в том, что при обработке функций DLL на x86 я никогда не сталкивался с какими-либо проблемами при использовании API-интерфейсов Windows. Но при переносе кода на x64 Windows API создает проблемы ....
Функции библиотеки DLL в основном связаны с обработкой изображений на растровых изображениях. таким образом, используя bitmapinfoheader, bitmap и т. д. структуры окон ...
Пожалуйста, помогите, поскольку это срочно.
------- дополнение
WindowVar = GetActiveWindow();
DisplayDeviceContext = GetDC(WindowVar);
BitmapVar = CreateDIBSection (DisplayDeviceContext, BITMAPINFOheaderstructure,
COLORmap, &lpvBits, 0, 0L);
//copy data to the BitmapVar from image
byteswritten = GetObject(BitmapVar, sizeof(DIBSECTION), &DibSectionvar);
но основная проблема заключается в том, что при работе на x86 функция GetObject GetObject выдает байты, записанные как 84, что правильно, но на x64 это дает только 32. однако это должно быть 92 ...