ChangeSet ID: 21101 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/04 05:13:55
Modified files: dlls/oleaut32 : tmarshal.c
Log message: Marcus Meissner marcus@jet.franken.de Added support for VT_I8/VT_UI8 marshalling.
Patch: http://cvs.winehq.org/patch.py?id=21101
Old revision New revision Changes Path 1.71 1.72 +20 -0 wine/dlls/oleaut32/tmarshal.c
Index: wine/dlls/oleaut32/tmarshal.c diff -u -p wine/dlls/oleaut32/tmarshal.c:1.71 wine/dlls/oleaut32/tmarshal.c:1.72 --- wine/dlls/oleaut32/tmarshal.c:1.71 4 Nov 2005 11:13:55 -0000 +++ wine/dlls/oleaut32/tmarshal.c 4 Nov 2005 11:13:55 -0000 @@ -445,6 +445,8 @@ static const IRpcProxyBufferVtbl tmproxy int _argsize(DWORD vt) { switch (vt) { + case VT_UI8: + return 8/sizeof(DWORD); case VT_R8: return sizeof(double)/sizeof(DWORD); case VT_CY: @@ -473,6 +475,9 @@ _xsize(TYPEDESC *td) { arrsize *= adesc->rgbounds[i].cElements; return arrsize*_xsize(&adesc->tdescElem); } + case VT_UI8: + case VT_I8: + return 8; case VT_UI2: case VT_I2: return 2; @@ -501,6 +506,13 @@ serialize_param( switch (tdesc->vt) { case VT_EMPTY: /* nothing. empty variant for instance */ return S_OK; + case VT_I8: + case VT_UI8: + hres = S_OK; + if (debugout) TRACE_(olerelay)("%lx%lx",arg[0],arg[1]); + if (writeit) + hres = xbuf_add(buf,(LPBYTE)arg,8); + return hres; case VT_BOOL: case VT_ERROR: case VT_UINT: @@ -811,6 +823,14 @@ deserialize_param( return S_OK; } } + case VT_I8: + case VT_UI8: + if (readit) { + hres = xbuf_get(buf,(LPBYTE)arg,8); + if (hres) ERR("Failed to read integer 8 byte\n"); + } + if (debugout) TRACE_(olerelay)("%lx%lx",arg[0],arg[1]); + return hres; case VT_ERROR: case VT_BOOL: case VT_I4: