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 v3.3