This MR adds a very basic implementation of `IPropertyDescription` for system defined properties (i.e, the ones in \<propkey.h\>). This is needed to support the [`Properties`](https://learn.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformation.properties?view=winrt-26100) method for `IDeviceInformation` in Windows.Devices.Enumeration (!6874).
--
v7: dlls/propsys: Implement IPropertyDescription for several known system properties.
dlls/propsys: Add IPropertyDescription stub for system defined properties.
dlls/propsys/tests: Add conformance tests for PSGetNameFromPropertyKey.
dlls/propsys: Add stubs for PSGetNameFromPropertyKey.
dlls/propsys: Add stubs for PropertySystem.
dlls/propsys/tests: Add conformance tests for PSGetPropertyKeyFromName.
dlls/propsys/tests: Add conformance tests for getting PropertyDescriptions from PropertySystem.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6892
--
v41: wintypes: Add stubs for IIterable<IKeyValuePair<HSTRING, IInspectable *>> to PropertySet.
wintypes: Add stubs for IMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IObservableMap<HSTRING, IInspectable *> to PropertySet.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6766
I tripped over this function while trying to run a game, so I thought I would have a go at it :-)
The implementation is very similar to what is done in `Local32Info16` already.
Regarding the place to put the function: I am not sure about the exact relationship between `kernel32` and `kernelbase`, but as most of the heap related functions are implemented in `kernelbase` I opted to add it to the latter. The tests reside in the `kernel32` directory though.
The tests are currently pretty basic as I was a bit hesitant to compare against hard coded sizes for reserved / committed memory (that could break if someone made changes to the heap implementation).
Also, I am not entirely sure about the semantics of the `cbMaxReserve` field. I opted to always set it to the same value as `cbReserved`, which seems *good enough™*.
Let me know if this needs improvement!
--
v5: kernelbase: Implement HeapSummary
https://gitlab.winehq.org/wine/wine/-/merge_requests/8237
This is necessary if a protection software hooks LdrLoadDll, and then tries to use LoadLibrary[Ex]A from the hook. Yes, this actually happened.
--
v2: kernelbase: Made LoadLibraryExA allocate a new buffer for the module name.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8324
IWinInetHttpInfo_QueryInfo returns a multibyte string, not a wide string. We
were also wrongly expecting it to have a NUL terminator.
* * *
this one doesn't feel good. IWinInetHttpInfo_QueryInfo calls HttpInfo_QueryInfo (urlmon), which calls HttpQueryInfoA (wininet), so it returns char*. but inside, HttpQueryInfoA is calling HttpQueryInfoW and does charset conversion. so we are converting the string to multibyte and back.
maybe there's an API that returns wchar* i don't know about.
--
v5: mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8228
IWinInetHttpInfo_QueryInfo returns a multibyte string, not a wide string. We
were also wrongly expecting it to have a NUL terminator.
* * *
this one doesn't feel good. IWinInetHttpInfo_QueryInfo calls HttpInfo_QueryInfo (urlmon), which calls HttpQueryInfoA (wininet), so it returns char*. but inside, HttpQueryInfoA is calling HttpQueryInfoW and does charset conversion. so we are converting the string to multibyte and back.
maybe there's an API that returns wchar* i don't know about.
--
v4: mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8228
Updating the GL drawables on/offscreen dynamically, similarly to how we do it for Vulkan, and in order to ultimately converge and factor both GL and VK client surfaces.
--
v2: winex11: Rename context drawables to draw / read.
winex11: Drop pixmap-based child window workaround.
winex11: Update drawable size and offscreen when presenting.
winex11: Update every window GL drawable on resize / reparent.
winex11: Update GL drawable offscreen status instead of recreating.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8291