oleaut32: Implement de/serialize_param of types VT_ARRAY|<type>.
This commit is contained in:
parent
70131341c7
commit
bbf4835568
|
@ -606,10 +606,15 @@ serialize_param(
|
||||||
marshal_state *buf)
|
marshal_state *buf)
|
||||||
{
|
{
|
||||||
HRESULT hres = S_OK;
|
HRESULT hres = S_OK;
|
||||||
|
VARTYPE vartype;
|
||||||
|
|
||||||
TRACE("(tdesc.vt %s)\n",debugstr_vt(tdesc->vt));
|
TRACE("(tdesc.vt %s)\n",debugstr_vt(tdesc->vt));
|
||||||
|
|
||||||
switch (tdesc->vt) {
|
vartype = tdesc->vt;
|
||||||
|
if ((vartype & 0xf000) == VT_ARRAY)
|
||||||
|
vartype = VT_SAFEARRAY;
|
||||||
|
|
||||||
|
switch (vartype) {
|
||||||
case VT_EMPTY: /* nothing. empty variant for instance */
|
case VT_EMPTY: /* nothing. empty variant for instance */
|
||||||
return S_OK;
|
return S_OK;
|
||||||
case VT_I8:
|
case VT_I8:
|
||||||
|
@ -919,11 +924,16 @@ deserialize_param(
|
||||||
marshal_state *buf)
|
marshal_state *buf)
|
||||||
{
|
{
|
||||||
HRESULT hres = S_OK;
|
HRESULT hres = S_OK;
|
||||||
|
VARTYPE vartype;
|
||||||
|
|
||||||
TRACE("vt %s at %p\n",debugstr_vt(tdesc->vt),arg);
|
TRACE("vt %s at %p\n",debugstr_vt(tdesc->vt),arg);
|
||||||
|
|
||||||
|
vartype = tdesc->vt;
|
||||||
|
if ((vartype & 0xf000) == VT_ARRAY)
|
||||||
|
vartype = VT_SAFEARRAY;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
switch (tdesc->vt) {
|
switch (vartype) {
|
||||||
case VT_EMPTY:
|
case VT_EMPTY:
|
||||||
if (debugout) TRACE_(olerelay)("<empty>\n");
|
if (debugout) TRACE_(olerelay)("<empty>\n");
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
Loading…
Reference in New Issue