VARTYPE

An enumeration type used in VARIANT, TYPEDESC, OLE property sets, and safe arrays.

The enumeration constants listed in the following VARENUM section are valid in the vt field of a VARIANT structure.

typedef unsigned short VARTYPE;
enum VARENUM{
    VT_EMPTY        = 0,            // Not specified.
    VT_NULL        = 1,            // Null.
    VT_I2        = 2,            // 2-byte signed int.
    VT_I4        = 3,            // 4-byte signed int.
    VT_R4        = 4,            // 4-byte real.
    VT_R8        = 5,            // 8-byte real.
    VT_CY        = 6,            // Currency.
    VT_DATE        = 7,            // Date.
    VT_BSTR        = 8,            // Binary string.
    VT_DISPATCH    = 9,            // IDispatch
    VT_ERROR        = 10,            // Scodes.
    VT_BOOL        = 11,            // Boolean; True=-1, False=0.
    VT_VARIANT    = 12,            // VARIANT FAR*.
    VT_UNKNOWN  = 13,            // IUnknown FAR*.
    VT_UI1        = 17,            // Unsigned char.

    // Other constants that are not valid in VARIANTs omitted here.

};
    VT_RESERVED    = (int) 0x8000
    // By reference, a pointer to the data is passed.
    VT_BYREF      = (int) 0x4000    
    VT_ARRAY     = (int) 0x2000    // A safe array of the data is passed.