Re: IRandomAccessStream doesn't belong in windows.storage
Nikolay Sivov <[email protected]> Wed, 21 May 2025 10:41:30 +0200
| Newsgroups | gmane.comp.emulators.wine.devel |
|---|---|
| Message-ID | <CAG4Z_JJaTi00jg12xd2Huh6FXV-GxLFb6eT=Kr7fngWf9vehVg@mail.gmail.com> |
On Wed, May 21, 2025 at 10:37 AM light gray <[email protected]> wrote: > That's quite puzzling because in W11 24H2 it's shcore.dll instead. > [image: image.png] > Even if W10 22H2 has it as `windows.storage.dll` I think it's still better > to implement it in shcore.dll instead because of the > `CreateRandomAccessStream..` functions. > Once we need those functions I think we could move it, to be able to create this object directly or through activation. But if we don't need them, it doesn't matter where it is. > > On Wed, 21 May 2025 at 11:56, Rémi Bernon <[email protected]> wrote: > >> On 5/21/25 10:18, light gray wrote: >> > Hi devs! >> > >> > I've recently noticed that there's a new `windows.storage` WinRT library >> > within Wine, and the library houses a stubbed implementation for >> > `IRandomAccessStream`. >> > There's an issue however. Looking at Windows registry keys to see which >> > libraries register which runtime classes, it appears `shcore` houses the >> > implementation for `IRandomAccessStream`. Not `windows.storage`. >> > While inherently this isn't a problem since applications acquire runtime >> > classes via `RoGetActivationFactory`, this could pose an issue later >> down >> > the line when more WinRT interfaces get implemented within Wine. Mainly >> > with how different classes are registered at compile time. Not only >> that, >> > it would also make implementing functions such as >> > `CreateRandomAccessStreamOnFile` a bit more complicated. >> > As a reference, the following is my own experimental implementation of >> > `IRandomAccessStream`: >> > >> https://github.com/Weather-OS/WineCoreUAP/commit/318d3b8ecb036f04dcf6365235ac1c123dbafb1c >> > >> > Best wishes, Weather. >> > >> >> In the Windows version I have been checking with (W10 22H2 or something >> like that), Windows.Storage.Streams.RandomAccessStream runtime class is >> registered from windows.storage.dll. >> >> There has been other instances where the classes are moved around, I >> think we can assume it does not really matter. >> >> -- >> Rémi Bernon <[email protected]> >> >> >> > >
image.png
(image/png, 22.7 KB) - not displayed