Re: IRandomAccessStream doesn't belong in windows.storage

light gray <[email protected]> Wed, 21 May 2025 12:06:43 +0330
Newsgroups gmane.comp.emulators.wine.devel
Message-ID <CAK1GefHfEXLN8TBeR12smMdTAeJfX-Fye4=xcdUS-sf30d3Evg@mail.gmail.com>
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.

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