COM Enhancement patch

Lionel Ulmer lionel.ulmer at
Wed Nov 20 16:21:48 CST 2002

> I might not exactly be an expert, but I don't like the extra work being done
> everywhere with the extra pointer.  If writing the thunk functions is really so
> cumbersome, perhaps a macro for generating the thunk functions is in order.

Well, I am currently rewriting the code with the thunks (should be sent in
this evening if nothing breaks :-) ).

I will ask though to all people voting for thunks to review the (about) 100
thunks I had to write for this patch due to this decision and to check if
all are correct according to MSDN definitions.

For me, to have a little speed loss (well, it's only one additionnal memory
access) in all interfaces and a lot less complex code (ie a lot less
functions) is better than having the latest interface at full speed but a
much bigger (IMHO) speed loss for all old interfaces (for all thunks, you
have at least one comparison, one pointer arithmetic and one function call
if not more if you need to thunk more than one interface).  Moreover (this
is not the case here, but well) if ever interface X + 1 comes out, you need
to rewrite a lot of your code (as you need to create thunks for all
functions in X and rewrite the X + 1 functions with the new interface).

But well, as the decision was taken, we won't go back now (otherwise, I will
have spent my last 10 hours of Wine hacking time for nothing).


		 Lionel Ulmer -

More information about the wine-devel mailing list