I am trying to call ADL_Display_Modes_Get in a 64 C++ application and it generates an unhandled exception, but works fine when switched to 32 bit. This is a simple lightweight, non threaded test application. Other functions work fine in 64 bit (ADL_Display_DisplayInfo_Get). Is this a problem of the atiadl dll(s)?
64 bit Windows 7 Enterprise
FirePro V3700 (tried with latest and second latest drivers with uninstall/reinstall)
Visual Studios 2008
I am calling LoadLibrary("atiadlxx.dll") which pulls it from the system 32 (causing the unhandled exception). Also, in an attempt to force it to load from syswow64 via
LoadLibraryEx("C:\\Windows\\SysWOW64\\atiadlxy.dll", NULL, LOAD_IGNORE_CODE_AUTHZ_LEVEL | LOAD_WITH_ALTERED_SEARCH_PATH);
causes windows to generate an errorcode 193: ERROR_BAD_EXE_FORMAT(not a valid Win32 application)
The application I am writing needs to be in 64 bit. Since I am just looking for the display parameters of connected displays(color depth, refresh rate, etc) is there another way to go about retrieving this information or any workarounds? I can attach the test application code if that would help.