Handle VT_PTR->VT_VARIANT arguments of Invoke.

This commit is contained in:
Marcus Meissner 2003-03-04 02:14:10 +00:00 committed by Alexandre Julliard
parent cdfcef2481
commit 84213a37ff
1 changed files with 5 additions and 0 deletions

View File

@ -4214,6 +4214,11 @@ _copy_arg( ITypeInfo2 *tinfo, TYPEDESC *tdesc,
UINT arglen = _argsize(vt)*sizeof(DWORD);
VARTYPE oldvt;
if ((vt==VT_PTR) && tdesc && (tdesc->u.lptdesc->vt == VT_VARIANT)) {
memcpy(argpos,&arg,sizeof(void*));
return S_OK;
}
if (V_VT(arg) == vt) {
memcpy(argpos, &V_UNION(arg,lVal), arglen);
return S_OK;