#include <xsi_value.h>
This union is used for storing the value described by the CValue::m_t data member. Instead of accessing the value stored in CValue::m_u directly, it is strongly recommended to use the extractor methods defined by CValue.
CValue val((short)255);
// good but not recommended
short wrong = val.sval;
// right way to do it
short good = (short)val;
CComAPIHandler uitoolkit;
uitoolkit.CreateInstance( L"XSI.UIToolkit");
CValue dispVal = uitoolkit.GetRef();
// wrong way of accessing a COM object from a CValue, could return
// an invalid pointer
IDispatch* pDisp = dispVal.pval;
// this is the right way to do it
IDispatch* pDisp = (IDispatch*)(CValue::siPtrType)dispVal;
Public Attributes |
|
| short | sval |
| LONG | lval |
| float | fval |
| double | dval |
| bool | bval |
| wchar_t * | pwval |
| siPtrType | pval |
| signed char | cval |
| unsigned char | ucval |
| CValueArray * | paval |
| CLongArray * | plaval |
| CFloatArray * | pfaval |
| unsigned short | usval |
| ULONG | ulval |
| MATH::CVector2f * | pv2f |
| MATH::CVector3f * | pv3f |
| MATH::CVector4f * | pv4f |
| MATH::CQuaternionf * | pqf |
| MATH::CRotationf * | prf |
| MATH::CMatrix3f * | pm3f |
| MATH::CMatrix4f * | pm4f |
| MATH::CColor4f * | pc4f |
| MATH::CShape * | pshp |
| LLONG | llval |
| ULLONG | ullval |
| siBlobType * | pblobval |
| CStringArray * | pstrarrayval |
| short sval |
2 bytes signed integer number value (-32768..32767)
| LONG lval |
4 bytes signed integer number value (-2147483648..2147483647)
| float fval |
float value
| double dval |
double value
| bool bval |
bool value
| wchar_t* pwval |
| siPtrType pval |
pointer value
| signed char cval |
byte value
| unsigned char ucval |
unsigned byte value
Array value
Long Array value
Float Array value
| unsigned short usval |
2 bytes unsigned integer number value (0..65535)
| ULONG ulval |
4 bytes unsigned integer number value (0..4294967295)
CVector2f pointer
CVector3f pointer
CVector4f pointer
CQuaternionf pointer
CRotationf pointer
CMatrix3f pointer
CMatrix4f pointer
CColor4f pointer
CShape pointer
| LLONG llval |
8 bytes signed integer number type (-9223372036854775808..9223372036854775807)
| ULLONG ullval |
8 bytes unsigned integer number type (0..18446744073709551615)
| siBlobType* pblobval |
siBlobType value