Commit e9b36904 authored by Alastair Bridgewater's avatar Alastair Bridgewater Committed by Alexandre Julliard

Support for a small handful more return value/argument/variable types.

parent f0b082b3
...@@ -815,6 +815,17 @@ static int ctl2_encode_typedesc( ...@@ -815,6 +815,17 @@ static int ctl2_encode_typedesc(
*alignment = 1; *alignment = 1;
break; break;
case VT_INT:
*encoded_tdesc = 0x80000000 | (VT_I4 << 16) | VT_INT;
if ((This->typelib_header.varflags & 0x0f) == SYS_WIN16) {
*width = 2;
*alignment = 2;
} else {
*width = 4;
*alignment = 4;
}
break;
case VT_UINT: case VT_UINT:
*encoded_tdesc = 0x80000000 | (VT_UI4 << 16) | VT_UINT; *encoded_tdesc = 0x80000000 | (VT_UI4 << 16) | VT_UINT;
if ((This->typelib_header.varflags & 0x0f) == SYS_WIN16) { if ((This->typelib_header.varflags & 0x0f) == SYS_WIN16) {
...@@ -827,6 +838,8 @@ static int ctl2_encode_typedesc( ...@@ -827,6 +838,8 @@ static int ctl2_encode_typedesc(
break; break;
case VT_UI2: case VT_UI2:
case VT_I2:
case VT_BOOL:
*encoded_tdesc = default_tdesc; *encoded_tdesc = default_tdesc;
*width = 2; *width = 2;
*alignment = 2; *alignment = 2;
...@@ -834,6 +847,7 @@ static int ctl2_encode_typedesc( ...@@ -834,6 +847,7 @@ static int ctl2_encode_typedesc(
case VT_I4: case VT_I4:
case VT_UI4: case VT_UI4:
case VT_R4:
case VT_ERROR: case VT_ERROR:
case VT_BSTR: case VT_BSTR:
case VT_HRESULT: case VT_HRESULT:
...@@ -842,6 +856,12 @@ static int ctl2_encode_typedesc( ...@@ -842,6 +856,12 @@ static int ctl2_encode_typedesc(
*alignment = 4; *alignment = 4;
break; break;
case VT_CY:
*encoded_tdesc = default_tdesc;
*width = 8;
*alignment = 4; /* guess? */
break;
case VT_VOID: case VT_VOID:
*encoded_tdesc = 0x80000000 | (VT_EMPTY << 16) | tdesc->vt; *encoded_tdesc = 0x80000000 | (VT_EMPTY << 16) | tdesc->vt;
*width = 0; *width = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment