> -----Original Message----- > From: Kelly Leahy [mailto:[EMAIL PROTECTED] > Sent: 18 July 2003 21:44 > To: Mike Hearn; Robert Shearman > Cc: [EMAIL PROTECTED] > 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
