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