## siVariantType

### Description

The variant type determines the kind of value that can be stored in a parameter.
Note: Only a subset of these types are fully supported and recommended for use: these are siString, siBool, siDouble, siFloat, siInt4, siInt2, siUInt4, siUInt2, siByte, and siUByte. (See DataTypes for more information).

### C# Syntax

    siVariantType.siEmpty                                                       // 0

    siVariantType.siInt2                                                        // 2

    siVariantType.siInt4                                                        // 3

    siVariantType.siFloat                                                       // 4

    siVariantType.siDouble                                                      // 5

    siVariantType.siString                                                      // 8

    siVariantType.siDispatch                                                    // 9

    siVariantType.siBool                                                        // 11

    siVariantType.siUnknown                                                     // 13

    siVariantType.siByte                                                        // 16

    siVariantType.siUByte                                                       // 17

    siVariantType.siUInt2                                                       // 18

    siVariantType.siUInt4                                                       // 19

    siVariantType.siInt                                                         // 22

    siVariantType.siUInt                                                        // 23

    siVariantType.siWStr                                                        // 31

Constant | Value | Description
--- | --- | ---
siEmpty | 0 | no type
siInt2 | 2 | 2 bytes signed integer number (-32768..32767)
siInt4 | 3 | 4 bytes signed integer number (-2147483648..2147483647) (See Long)
siFloat | 4 | Float: single precision real number (-3.402823466e+38F..3.402823466e+38F)
siDouble | 5 | Double: double precision real number (-1.7976931348623158e+308..1.7976931348623158e+308)
siString | 8 | Text represented as a BSTR. See String.
siDispatch | 9 | dispatch object. This is an object which exposes methods and properties to scripting. This is the variant type of all objects in the Object Model.
siBool | 11 | Boolean
siUnknown | 13 | Pointer to a COM object. This object cannot be manipulated from scripting and such an object is not normally exposed in the Object Model.
siByte | 16 | byte (-128..127)
siUByte | 17 | unsigned byte (0..255)
siUInt2 | 18 | 2 bytes unsigned integer number (0..65535)
siUInt4 | 19 | 4 bytes unsigned integer number (0..4294967295)
siInt | 22 | signed machine integer. This variant type is not supported, use siInt4 instead.
siUInt | 23 | unsigned machine integer. This variant type is not supported, use siUInt4 instead.
siWStr | 31 | Null-terminated wide character string. This variant type is rarely encountered because siString is the recommended representation for all Softimage strings.

### Applies To

EditParameterDefinition SIAddCustomParameter ArgumentCollection.Add CustomProperty.AddParameter CustomProperty.AddParameter2 CustomProperty.AddParameter3 InputPort.Value Parameter.ValueType XSIFactory.CreateParamDef XSIFactory.CreateParamDef2 XSIUtils.GetVariantType

### See Also

FCurve Parameter.AddFCurve Parameter.AddFCurve2 Parameter.Max Parameter.Min Parameter.SuggestedMax Parameter.SuggestedMin Preferences FCurve