Serialize/deserialize all reftypes in VT_USERDEFINED.
This commit is contained in:
parent
21d92f8c8a
commit
5f9e3ffdb9
@ -556,11 +556,25 @@ serialize_param(
|
|||||||
if (debugout) MESSAGE("}");
|
if (debugout) MESSAGE("}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default: {
|
||||||
FIXME("Don't know how to marshal type kind %d\n",tattr->typekind);
|
TYPEDESC tdesc2;
|
||||||
hres = E_FAIL;
|
|
||||||
|
if (debugout) MESSAGE("U{");
|
||||||
|
memset(&tdesc2,0,sizeof(tdesc2));
|
||||||
|
tdesc2.vt = tattr->typekind;
|
||||||
|
hres = serialize_param(
|
||||||
|
tinfo2,
|
||||||
|
writeit,
|
||||||
|
debugout,
|
||||||
|
dealloc,
|
||||||
|
&tdesc2,
|
||||||
|
arg,
|
||||||
|
buf
|
||||||
|
);
|
||||||
|
if (debugout) MESSAGE("}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ITypeInfo_Release(tinfo2);
|
ITypeInfo_Release(tinfo2);
|
||||||
return hres;
|
return hres;
|
||||||
}
|
}
|
||||||
@ -896,12 +910,26 @@ deserialize_param(
|
|||||||
if (debugout) MESSAGE("}");
|
if (debugout) MESSAGE("}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default: {
|
||||||
FIXME("Don't know how to marshal type kind %d\n",tattr->typekind);
|
TYPEDESC tdesc2;
|
||||||
hres = E_FAIL;
|
|
||||||
|
if (debugout) MESSAGE("U{");
|
||||||
|
memset(&tdesc2,0,sizeof(tdesc2));
|
||||||
|
tdesc2.vt = tattr->typekind;
|
||||||
|
hres = deserialize_param(
|
||||||
|
tinfo2,
|
||||||
|
readit,
|
||||||
|
debugout,
|
||||||
|
alloc,
|
||||||
|
&tdesc2,
|
||||||
|
(DWORD*)*arg,
|
||||||
|
buf
|
||||||
|
);
|
||||||
|
if (debugout) MESSAGE("}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (hres)
|
if (hres)
|
||||||
FIXME("failed to stuballoc in TKIND_RECORD.\n");
|
FIXME("failed to stuballoc in TKIND_RECORD.\n");
|
||||||
ITypeInfo_Release(tinfo2);
|
ITypeInfo_Release(tinfo2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user