Typelib marshalling BSTRs

Robert Shearman R.J.Shearman at warwick.ac.uk
Fri Jul 18 19:21:08 CDT 2003


> -----Original Message-----
> From: Kelly Leahy [mailto:kellyleahy at swbell.net]
> Sent: 18 July 2003 21:44
> To: Mike Hearn; Robert Shearman
> Cc: wine-devel at winehq.org
> Subject: Re: Typelib marshalling BSTRs
>
> > How does typelib marshalling handle arrays? It's marshalling IDispatch,
> > and this parameter is in IDispatch::GetIDsFromNames().
> >
> my guess would be that IDispatch has a custom marshaller defined
> in windows.
> You should be able to verify this in the registry (though I don't remember
> how).
>

It already has a custom marshaller (in dlls/oleaut32/oaidl_p.c). The
question is: should it be called from here?
I would guess that the VT_PTR handling is a incomplete at the moment, since
it appears to only be marshalling the one byte, whereas it should be
marshalling an array of bytes. To be honest, I don't think the VT_PTR case
can marshal anything correctly, without calling the associated proxy/stub
function (custom marshaller).
I probably don't understand enough to answer this question and Ove is
probably the best person to answer this, but I thought I'd give it stab
anyway and see if this makes sense.

Rob





More information about the wine-devel mailing list