Format VT_UI1, VT_I1, VT_UI2, VT_I2 correctly.
This commit is contained in:
parent
e19ce3bd40
commit
c91df67f11
|
@ -504,17 +504,27 @@ serialize_param(
|
||||||
case VT_ERROR:
|
case VT_ERROR:
|
||||||
case VT_UINT:
|
case VT_UINT:
|
||||||
case VT_I4:
|
case VT_I4:
|
||||||
case VT_I2:
|
|
||||||
case VT_I1:
|
|
||||||
case VT_R4:
|
case VT_R4:
|
||||||
case VT_UI4:
|
case VT_UI4:
|
||||||
case VT_UI2:
|
|
||||||
case VT_UI1:
|
|
||||||
hres = S_OK;
|
hres = S_OK;
|
||||||
if (debugout) TRACE_(olerelay)("%lx",*arg);
|
if (debugout) TRACE_(olerelay)("%lx",*arg);
|
||||||
if (writeit)
|
if (writeit)
|
||||||
hres = xbuf_add(buf,(LPBYTE)arg,sizeof(DWORD));
|
hres = xbuf_add(buf,(LPBYTE)arg,sizeof(DWORD));
|
||||||
return hres;
|
return hres;
|
||||||
|
case VT_I2:
|
||||||
|
case VT_UI2:
|
||||||
|
hres = S_OK;
|
||||||
|
if (debugout) TRACE_(olerelay)("%04lx",*arg & 0xffff);
|
||||||
|
if (writeit)
|
||||||
|
hres = xbuf_add(buf,(LPBYTE)arg,sizeof(DWORD));
|
||||||
|
return hres;
|
||||||
|
case VT_I1:
|
||||||
|
case VT_UI1:
|
||||||
|
hres = S_OK;
|
||||||
|
if (debugout) TRACE_(olerelay)("%02lx",*arg & 0xff);
|
||||||
|
if (writeit)
|
||||||
|
hres = xbuf_add(buf,(LPBYTE)arg,sizeof(DWORD));
|
||||||
|
return hres;
|
||||||
case VT_VARIANT: {
|
case VT_VARIANT: {
|
||||||
TYPEDESC tdesc2;
|
TYPEDESC tdesc2;
|
||||||
VARIANT *vt = (VARIANT*)arg;
|
VARIANT *vt = (VARIANT*)arg;
|
||||||
|
@ -1043,19 +1053,35 @@ deserialize_param(
|
||||||
case VT_ERROR:
|
case VT_ERROR:
|
||||||
case VT_BOOL:
|
case VT_BOOL:
|
||||||
case VT_I4:
|
case VT_I4:
|
||||||
case VT_I2:
|
|
||||||
case VT_I1:
|
|
||||||
case VT_UINT:
|
case VT_UINT:
|
||||||
case VT_R4:
|
case VT_R4:
|
||||||
case VT_UI4:
|
case VT_UI4:
|
||||||
case VT_UI2:
|
|
||||||
case VT_UI1:
|
|
||||||
if (readit) {
|
if (readit) {
|
||||||
hres = xbuf_get(buf,(LPBYTE)arg,sizeof(DWORD));
|
hres = xbuf_get(buf,(LPBYTE)arg,sizeof(DWORD));
|
||||||
if (hres) ERR("Failed to read integer 4 byte\n");
|
if (hres) ERR("Failed to read integer 4 byte\n");
|
||||||
}
|
}
|
||||||
if (debugout) TRACE_(olerelay)("%lx",*arg);
|
if (debugout) TRACE_(olerelay)("%lx",*arg);
|
||||||
return hres;
|
return hres;
|
||||||
|
case VT_I2:
|
||||||
|
case VT_UI2:
|
||||||
|
if (readit) {
|
||||||
|
DWORD x;
|
||||||
|
hres = xbuf_get(buf,(LPBYTE)&x,sizeof(DWORD));
|
||||||
|
if (hres) ERR("Failed to read integer 4 byte\n");
|
||||||
|
memcpy(arg,&x,2);
|
||||||
|
}
|
||||||
|
if (debugout) TRACE_(olerelay)("%04lx",*arg & 0xffff);
|
||||||
|
return hres;
|
||||||
|
case VT_I1:
|
||||||
|
case VT_UI1:
|
||||||
|
if (readit) {
|
||||||
|
DWORD x;
|
||||||
|
hres = xbuf_get(buf,(LPBYTE)&x,sizeof(DWORD));
|
||||||
|
if (hres) ERR("Failed to read integer 4 byte\n");
|
||||||
|
memcpy(arg,&x,1);
|
||||||
|
}
|
||||||
|
if (debugout) TRACE_(olerelay)("%02lx",*arg & 0xff);
|
||||||
|
return hres;
|
||||||
case VT_BSTR|VT_BYREF: {
|
case VT_BSTR|VT_BYREF: {
|
||||||
BSTR **bstr = (BSTR **)arg;
|
BSTR **bstr = (BSTR **)arg;
|
||||||
WCHAR *str;
|
WCHAR *str;
|
||||||
|
|
Loading…
Reference in New Issue