wine/dlls/oleaut32 tmarshal.c
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Nov 4 05:13:55 CST 2005
ChangeSet ID: 21101
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/04 05:13:55
Modified files:
dlls/oleaut32 : tmarshal.c
Log message:
Marcus Meissner <marcus at 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:
More information about the wine-cvs
mailing list