Rémi Bernon (@rbernon) commented about dlls/windows.devices.usb/usbdevice.c:
{ - FIXME( "iface %p, vendor %d, product %d, value %p stub!\n", iface, vendor, product, value ); - return E_NOTIMPL; + static const WCHAR *prefix = L"System.Devices.InterfaceClassGuid:=\"{DEE824EF-729B-4A0E-9C14-B7117D33A817}\"" + L" AND System.Devices.InterfaceEnabled:=System.StructuredQueryType.Boolean#True" + L" AND System.DeviceInterface.WinUsb.UsbVendorId:="; + static const WCHAR *suffix = L" AND System.DeviceInterface.WinUsb.UsbProductId:="; + WCHAR *buffer; + int length; + HRESULT hr; + + TRACE( "iface %p, vendor %d, product %d, value %p.\n", iface, vendor, product, value ); + + if (!value) return E_INVALIDARG; + + length = _snwprintf( NULL, 0, L"%ls%d%ls%d", prefix, (INT32)vendor, suffix, (INT32)product );
length = swprintf( NULL, 0, L"%ls%d%ls%d", prefix, (INT32)vendor, suffix, (INT32)product );
Same for the other call below and in the tests. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3271#note_38393