Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
+ { + if ((adapter = find_adapter_by_index( index ))) found = TRUE; + } + else if ((adapter = find_adapter_by_name( device ))) + { + if ((monitor = find_monitor_by_index( adapter, index ))) found = TRUE; + }
if (found) { + char buffer[MAX_PATH], *tmp; + if (info->cb >= offsetof(DISPLAY_DEVICEW, DeviceName) + sizeof(info->DeviceName)) - lstrcpyW( info->DeviceName, found->device_name ); + { + if (monitor) sprintf( buffer, "\\\\.\\DISPLAY%d\\Monitor%d", adapter->id + 1, monitor->id ); Use swprintf() so you don't need to call asciiz_to_unicode() to convert it to Unicode.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/5262#note_64679