Re: Is it normal that the COM vtbl structure cannot be aligned between Windows and Wine

zhengxianwei <[email protected]> Wed, 11 Jun 2025 21:08:24 +0800
Newsgroups gmane.comp.emulators.wine.devel
Message-ID <CABeGAqXp66XQhBuLPQeqmap9be+8L3_dVHO++xs=3Q7JA33XsQ@mail.gmail.com>
 Due to some reasons, I may not submit patches to Wine, but thank you for
letting me know about this rule — I will follow it

On Wed, Jun 11, 2025 at 8:57 PM Zhiyi Zhang <[email protected]> wrote:

>
>
> On 6/11/25 20:16, zhengxianwei wrote:
> > In wine, Visual2Vtbl
> >
> > ```
> > typedef struct IDCompositionVisual2Vtbl {
> >     BEGIN_INTERFACE
> >
> >     /*** IUnknown methods ***/
> >     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
> >         IDCompositionVisual2 *This,
> >         REFIID riid,
> >         void **ppvObject);
> >
> >     ULONG (STDMETHODCALLTYPE *AddRef)(
> >         IDCompositionVisual2 *This);
> >
> >     ULONG (STDMETHODCALLTYPE *Release)(
> >         IDCompositionVisual2 *This);
> >
> >     /*** IDCompositionVisual methods ***/
> >     HRESULT (STDMETHODCALLTYPE *SetOffsetX)(
> >         IDCompositionVisual2 *This,
> >         float offset_x);
> >
> >     HRESULT (STDMETHODCALLTYPE *SetOffsetXAnimation)(
> >         IDCompositionVisual2 *This,
> >         IDCompositionAnimation *animation);
> >
> >     HRESULT (STDMETHODCALLTYPE *SetOffsetY)(
> >         IDCompositionVisual2 *This,
> >         float offset_y);
> > ```
> >
> > setOffsetX (float *) at offset 0x18
> > visual2vtbl.png
> > But in windows 0x18 is setOffsetX (Animation *)
> >
>
> This screenshot is from disassembling native dcomp.dll. You are not
> allowed to do this if you want to
> send your patches to Wine.
>
>
> > Is this correct?
> >
> >
> >
>
>
>
>