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

This commit is contained in:
Alastair Bridgewater 2004-02-10 02:26:06 +00:00 committed by Alexandre Julliard
parent f0b082b354
commit e9b36904df
1 changed files with 20 additions and 0 deletions

View File

@ -815,6 +815,17 @@ static int ctl2_encode_typedesc(
*alignment = 1;
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:
*encoded_tdesc = 0x80000000 | (VT_UI4 << 16) | VT_UINT;
if ((This->typelib_header.varflags & 0x0f) == SYS_WIN16) {
@ -827,6 +838,8 @@ static int ctl2_encode_typedesc(
break;
case VT_UI2:
case VT_I2:
case VT_BOOL:
*encoded_tdesc = default_tdesc;
*width = 2;
*alignment = 2;
@ -834,6 +847,7 @@ static int ctl2_encode_typedesc(
case VT_I4:
case VT_UI4:
case VT_R4:
case VT_ERROR:
case VT_BSTR:
case VT_HRESULT:
@ -842,6 +856,12 @@ static int ctl2_encode_typedesc(
*alignment = 4;
break;
case VT_CY:
*encoded_tdesc = default_tdesc;
*width = 8;
*alignment = 4; /* guess? */
break;
case VT_VOID:
*encoded_tdesc = 0x80000000 | (VT_EMPTY << 16) | tdesc->vt;
*width = 0;