The code snippet I sent you was from our own AGS3 library implementation. It was just meant to demonstrate how I use it to work around the problem. Perhaps pseudo code would be better:
Load the ADL dll (either atiadlxx.dll or atiadlxy.dll)
Grab the function pointers to all the ADL functions you want to use
Call SetEnvironmentVariable( L"ADL_4KWORKAROUND_CANCEL", L"TRUE" );
I follow your advise to modify the eyefinity example, but it seems doesn't work fine.
Do you have any other advise can give me to try? Thanks.