Ole16 to Ole32 mapping

Damjan Jovanovic damjan.jov at gmail.com
Mon Sep 19 08:23:23 CDT 2011

On Mon, Sep 19, 2011 at 3:00 PM, Bruno Jesus <00cpxxx at gmail.com> wrote:
> Hi, I would like some advice about Ole function redirection. The
> winsock16 dll maps some operations to ws2_32 dll, I thought I could do
> the same with Ole16disp to Oleaut32. For example the function
> SAFEARRAYALLOCDESCRIPTOR in Ole16disp have a similar counterpart named
> SafeArrayAllocDescriptor in Oleaut32. There are dozens of functions
> like this if you look in the spec files of these dlls. I added
> oleaut32 to the imports and started mapping by making one line
> functions, for example SAFEARRAYALLOCDESCRIPTOR simply return calling
> SafeArrayAllocDescriptor from Ole32. Is it ok to do it like this?
> I implemented SafeArrayAlloc[Descriptor/Data] and
> SafeArrayDestroy[Descriptor/Data] and they seem to be working, then I
> started implementing some of the others and testing with the
> application winverbs from bug #28113. Is there any msdn documentation
> like to these old functions? I would like to compare the function
> parameters in some cases.
> Thanks in advance,
> Bruno
> --
> universe* god::bigbang (void); //and then it all began...


No, both the function API and the structure fields for the 16 bit
SAFEARRAY* functions are different from the 32 bit versions. 16 bit
OLE in Wine looks like a complete rewrite.

There is no MSDN documentation for any Win16 functions. Even
OpenWatcom doesn't have headers or API documentation for 16 bit OLE.
The only compiler I know of that does, is the commercial version of
Digital Mars (http://www.digitalmars.com/shop.html).

Damjan Jovanovic

More information about the wine-devel mailing list