From: Yassin Addaoudi <yassinaddaoudi5@gmail.com> In enumerate_new_device, query device capabilities and write non-default Address and UINumber values to SPDRP_ADDRESS and SPDRP_UI_NUMBER. Signed-off-by: Yassin Addaoudi <yassinaddaoudi5@gmail.com> --- dlls/ntoskrnl.exe/pnp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dlls/ntoskrnl.exe/pnp.c b/dlls/ntoskrnl.exe/pnp.c index 11a578a7545..754b57fa1f6 100644 --- a/dlls/ntoskrnl.exe/pnp.c +++ b/dlls/ntoskrnl.exe/pnp.c @@ -420,6 +420,11 @@ static void enumerate_new_device( DEVICE_OBJECT *device, HDEVINFO set, DEVICE_OB return; } + if (caps.Address != 0xffffffff) + SetupDiSetDeviceRegistryPropertyW( set, &sp_device, SPDRP_ADDRESS, (BYTE *)&caps.Address, sizeof(caps.Address) ); + if (caps.UINumber != 0xffffffff) + SetupDiSetDeviceRegistryPropertyW( set, &sp_device, SPDRP_UI_NUMBER, (BYTE *)&caps.UINumber, sizeof(caps.UINumber) ); + if (!get_device_id(device, BusQueryContainerID, &id) && id) { SetupDiSetDeviceRegistryPropertyW( set, &sp_device, SPDRP_BASE_CONTAINERID, (BYTE *)id, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11210