please check this thread and you will understand how it works..
her i have pasted the struct etc..
_Get is the easy part.
settings also is easy till you dont use struct, like for example color temp brightness etc..
if you use struct for fanspeed or clock etc, then forget it.
and you wont get any answer here.
they just tell you what already know or will copy paste SDK and say this is how you do it.. i am really pisses with this SKD. i am struggling with this dumb thing for almost a year and half
ADL_Display_ConnectedDisplays_Get and ADL_Display_DisplayInfo_Get
After an application enumerated supported displays on particular board, it will have something like array of supported displays, with display index running from 0 to (NumOfSupportedDisplays-1)
Display index corresponds to a bitfield (or bitvector) like below:
Display Index BitVector (binary) BitVector (hex)
0 000001 0x01
1 000010 0x02
2 000100 0x04
3 001000 0x08
4 010000 0x10
5 100000 0x20
(i.e. BitVector = 1<<DisplayIndex)
Once enumerated, this list (or array) does not change for particular board, i.e. same display index will always mean the same display output.
adapterInfo.ulDisplaysHaveLoad field just has bitvectors of connected displays ORed.
I.e. for example if adapterInfo.ulDisplaysHaveLoad gives you value 0x00000025, that would mean you have 3 displays connected, with bitvectors 0x01, 0x04 and 0x20, i.e. with display indexes 0, 2 and 5 correspondingly.