Vibhav Pant (@vibhavp) commented about dlls/wintypes/map.c:
{ - FIXME( "iface %p, key %s, found %p stub!\n", iface, debugstr_hstring( key ), found ); - return E_NOTIMPL; + struct map_view *impl = impl_from_IMapView_HSTRING_IInspectable( iface ); + int order; + + TRACE( "iface %p, key %s, found %p\n", iface, debugstr_hstring( key ), found ); + + map_entries_lower_bound( impl->entries, impl->size, key, &order ); + *found = !order; + return S_OK; }
+static HRESULT map_view_create( const struct map_iids *iids, struct map_entry *entries, UINT32 size, IMapView_HSTRING_IInspectable **out ); + static HRESULT WINAPI map_view_Split( IMapView_HSTRING_IInspectable *iface, IMapView_HSTRING_IInspectable **first, This is likely not needed for `PropertySet`. The `Split` method on the `IMapView` object obtained from a PropertySet will just set `first` and `second` to NULL and return S_OK. The [WinRT docs conveniently allow implementations to do this](https://learn.microsoft.com/en-us/uwp/api/windows.foundation.collections.ima...), even when a collection can be trivially split into two:
If the IMapView\<K, V\> instance cannot be split, then both the first and second parameters are null when the method returns.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8749#note_113901