ITypeInfo::Invoke now is able to invoke a function even when it is
provided with a byref argument.
This commit is contained in:
parent
2b6eafa0f9
commit
1a4f5cff4e
@ -4300,14 +4300,14 @@ static HRESULT WINAPI ITypeInfo_fnInvoke(
|
|||||||
|
|
||||||
if (V_VT(arg) == tdesc->vt) {
|
if (V_VT(arg) == tdesc->vt) {
|
||||||
memcpy(&args[argspos],&V_UNION(arg,lVal), arglen*sizeof(DWORD));
|
memcpy(&args[argspos],&V_UNION(arg,lVal), arglen*sizeof(DWORD));
|
||||||
} else {
|
} else if(V_ISBYREF(arg) && ((V_VT(arg) & ~VT_BYREF)==tdesc->vt)) {
|
||||||
if (tdesc->vt == VT_VARIANT) {
|
memcpy(&args[argspos],(void*)V_UNION(arg,lVal), arglen*sizeof(DWORD));
|
||||||
memcpy(&args[argspos],arg, arglen*sizeof(DWORD));
|
} else if (tdesc->vt == VT_VARIANT) {
|
||||||
} else {
|
memcpy(&args[argspos],arg, arglen*sizeof(DWORD));
|
||||||
ERR("Set arg %d to disparg type %d vs %d\n",i,
|
} else {
|
||||||
V_VT(arg),tdesc->vt
|
ERR("Set arg %d to disparg type %d vs %d\n",i,
|
||||||
);
|
V_VT(arg),tdesc->vt
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
argspos += arglen;
|
argspos += arglen;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user