Simple Types
All simple types are represented by a single format character indicating the type by its name. This includes all the numerical types and some other special IDL types. The list is as follows:
FC_BYTE, // 0x01
FC_CHAR, // 0x02
FC_SMALL, // 0x03
FC_USMALL, // 0x04
FC_WCHAR, // 0x05
FC_SHORT, // 0x06
FC_USHORT, // 0x07
FC_LONG, // 0x08
FC_ULONG, // 0x09
FC_FLOAT, // 0x0a
FC_HYPER, // 0x0b
FC_DOUBLE, // 0x0c
FC_ENUM16, // 0x0d
FC_ENUM32, // 0x0e
FC_ERROR_STATUS_T, // 0x10
FC_INT3264, // 0xb8
FC_UINT3264, // 0xb9
The SMALL, WCHAR, HYPER, ERROR_STATUS_T, __INT3264 types are MIDL intrinsics with special RPC interpretations. The INT and __INT32 types map to FC_LONG, unsigned INT and unsigned __INT32 map to FC_ULONG, __INT64 and unsigned __INT64 map to FC_HYPER.
The __INT128, FLOAT128, and FLOAT80 types are not supported.