I'm not sure what this MR is fixing exactly. `IUISettings` is the default interface, but unless an app specifically queries for it why add it? Do you have an app that depends on this? Or maybe add some tests showing what's broken?
This was discussed in https://gitlab.winehq.org/wine/wine/-/merge_requests/2103#note_23016
Chromium uses `IUISettings2` but doesn't seem to query for the default interface `IUISettings`. https://chromium.googlesource.com/chromium/src/+/refs/heads/main/ui/display/...
Same thing with FireFox, which queries `IUISettings2`, `IUISettings3`, `IUISettings4`, `IUISettings5`.
https://hg.mozilla.org/mozilla-central/file/tip/widget/windows/WindowsUIUtil...
Also, there's a lot of style inconsistencies in this MR. Please try to keep it consistent with the existing style.
FWIW, I was planning on eventually adding and implementing IUISettings[n] interfaces, but for now I don't see the point. I haven't come across an app that won't work without them. The biggest problem is that there's no place to add these user settings. Winecfg is too full as it is. I don't know if a new tab would be appropriate or if it's better to just add a new settings program altogether.