-----Original Message----- From: Kelly Leahy [mailto:kellyleahy@swbell.net] Sent: 18 July 2003 21:44 To: Mike Hearn; Robert Shearman Cc: wine-devel@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