EdsGetPropertyDesc can only be used to get a list of possible values (as IDs) with the following PropertyIDs:
- kEdsPropID_AEModeSelect (only if the camera has no physical mode switch)
- kEdsPropID_ISOSpeed
- kEdsPropID_MeteringMode
- kEdsPropID_Av
- kEdsPropID_Tv
- kEdsPropID_ExposureCompensation
Only the values of the returned list can be used to set given PropertyID. All other possible values are invalid for this camera in this mode. To know what the returned values stand for, see the documentation for a full list. For example, a camera can only have maximum Tv value of 1/4000 but there are values defined up until 1 /8000. So the retrieved list will only go up until 1/4000.
To get the image quality you already do the correct thing. The output value you get is any of the ImageQuality enum values. To set the image quality, you use the correct command but the wrong value. It should be any of the ImageQuality enum values too.
All of these commands and properties are described in the documentation btw.
Kind regards