patch for bug 2830 "MSFT_GetTdesc fails on methods with >= 30 params"

Robert Shearman rob at
Sat Sep 10 15:09:32 CDT 2005

White Snake wrote:

>patch goes in typelib.c and is attached as a diff file against 
>typelib.c 1.167.
>Patch is divided in 3 parts:
>1) in MSFT_DoFuncs: "reclength" of the function information record  is stored
>in a 16 bit int and not in a 8 bit int as previously supposed, using a 0x1ff
>mask. Upper 16 bits contains the ordinal number of the function. Allocation of
>the "recbuf" must be modified, to support larger data.
>2) Supporting a larger number of parameters means that the function "_invoke"
>must be updated too. Maybe there is a smarter way than the one i've found.
>3) This is a "new" bug I discovered: in ITypeInfo_fnInvoke, after 
>_invoke, when you copy data back to pVarResult, you must not always do it. 
>Sometimes pVarResult is passet to the called function, so data is already in the exit
>buffer. Check the comment few lines above "If pointer to variant, pass
>reference it."


As these are 3 different bug fixes, can you submit patches separately 
for each?

Rob Shearman

More information about the wine-devel mailing list