Rémi Bernon (@rbernon) commented about dlls/windows.devices.enumeration/information.c:
+ if (SUCCEEDED(hr = PSGetNameFromPropertyKey( (PROPERTYKEY *)propkey, &name ))) + { + hr = WindowsCreateString( name, wcslen( name ), &canonical_name ); + CoTaskMemFree( name ); + } + else if (hr == TYPE_E_ELEMENTNOTFOUND) + { + const GUID *fmtid = &propkey->fmtid; + WCHAR buf[80]; + + WARN( "Unknown property key: %s\n", debugstr_DEVPROPKEY( propkey ) ); + swprintf( buf, ARRAY_SIZE( buf ), L"{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x} %lu", fmtid->Data1, fmtid->Data2, fmtid->Data3, + fmtid->Data4[0], fmtid->Data4[1], fmtid->Data4[2], fmtid->Data4[3], fmtid->Data4[4], fmtid->Data4[5], fmtid->Data4[6], fmtid->Data4[7], propkey->pid ); + hr = WindowsCreateString( buf, wcslen( buf ), &canonical_name ); + } + if (FAILED(hr)) break; Is it supposed to be allowed to fail? Shouldn't the error case be handled in PSGetNameFromPropertyKey with a FIXME instead?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9045#note_116987