http://bugs.winehq.org/show_bug.cgi?id=4370 ------- Additional Comments From cdunn42(a)yahoo.com 2006-23-04 19:01 ------- Ok - put in this fixme right before the if statement : FIXME("rgvt[i]=0x%04X\n", rgvt[i]); Here was the output : fixme:ole:ITypeInfo_fnInvoke rgvt[i]=0x0008 fixme:ole:ITypeInfo_fnInvoke rgvt[i]=0x400C err:ole:ITypeInfo_fnInvoke failed to convert param 1 to VT_VARIANT|VT_BYREF from VT_VARIANT|VT_BYREF So if VT_VARIANT is not a bitmask, but VT_BYREF is (as I see it is used in that context further down in the code and is defined as 0x4000), would the correct solution maybe be to mask out VT_BYREF like this? (which by the way also succeeds in correcting my problem) : if ((rgvt[i] & ~VT_BYREF) == VT_VARIANT) VariantCopy(&rgvarg[i], src_arg); -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.