How Does dotXSI Deal with Variant Types?
The Crosswalk SDK uses a simplified version of the Windows VARIANT type called SI_TinyVariant.
You can set the variantType member of SI_TinyVariant to the following types:
|
SI_TinyVariant types |
C types |
SI_TinyVariant member |
|
SI_VT_BOOL |
SI_Bool |
boolval |
|
SI_VT_BYTE |
SI_Byte |
boolval |
|
SI_VT_UBYTE |
SI_UByte |
ubVal |
|
SI_VT_SHORT |
SI_Short |
sVal |
|
SI_VT_USHORT |
SI_UShort |
usVal |
|
SI_VT_INT |
SI_Int |
nVal |
|
SI_VT_UINT |
SI_UInt |
unVal |
|
SI_VT_FLOAT |
SI_Float |
fVal |
|
SI_VT_DOUBLE |
SI_Double |
dVal |
|
SI_VT_LONG |
SI_Long |
lVal |
|
SI_VT_ULONG |
SI_ULong |
ulVal |
|
SI_VT_PBOOL |
SI_Bool * |
p_boolval |
|
SI_VT_PBYTE |
SI_Byte * |
p_bVal |
|
SI_VT_PUBYTE |
SI_Ubyte * |
p_ubVal |
|
SI_VT_PSHORT |
SI_Short * |
p_sVal |
|
SI_VT_PUSHORT |
SI_Ushort * |
p_usVal |
|
SI_VT_PINT |
SI_Int * |
p_nVal |
|
SI_VT_PUINT |
SI_Uint * |
p_unVal |
|
SI_VT_PFLOAT |
SI_Float * |
p_fVal |
|
SI_VT_PDOUBLE |
SI_Double * |
p_dVal |
|
SI_VT_PLONG |
SI_Long * |
p_lVal |
|
SI_VT_PULONG |
SI_Ulong * |
p_ulVal |
|
SI_VT_PCHAR |
char * |
p_cVal |
|
SI_VT_PPCHAR |
char ** |
pp_cVal |
|
SI_VT_PVOID |
SI_Void * |
p_voidVal |
![]()
|
When dealing with any of the following types, you can also use the numElems member to get the number of elements in the array: • SI_VT_PBOOL • SI_VT_PBYTE • SI_VT_PUBYTE • SI_VT_PSHORT • SI_VT_PUSHORT • SI_VT_PINT • SI_VT_PUINT • SI_VT_PFLOAT • SI_VT_PDOUBLE • SI_VT_PLONG • SI_VT_PULONG • SI_VT_PPCHAR |
Autodesk Crosswalk v4.0