2.2.1.2 Datatype Identifiers

Datatype identifiers are 2-byte values that specify the exact type and encoding format of data as follows:<11>

 VTDataType = VT-EMPTY / VT-NULL / VT-I2 / VT-I4 / VT-R4 / VT-R8 /
  VT-CY / VT-DATE / VT-BSTR / VT-DISPATCH / VT-ERROR / VT-BOOL /
  VT-UNKNOWN / VT-DECIMAL / VT-UI1 / VT-ARRAY-EMPTY / VT-ARRAY-NULL /
  VT-ARRAY-I2 / VT-ARRAY-I4 / VT-ARRAY-R4 / VT-ARRAY-R8 / VT-ARRAY-CY /
  VT-ARRAY-DATE / VT-ARRAY-BSTR / VT-ARRAY-DISPATCH / VT-ARRAY-ERROR /
  VT-ARRAY-BOOL / VT-ARRAY-VARIANT / VT-ARRAY-UNKNOWN / VT-ARRAY-UI1 /
  DBTYPE-I1 / DBTYPE-UI2 / DBTYPE-UI4 / DBTYPE-I8 / DBTYPE-UI8 /
  DBTYPE-FILETIME / DBTYPE-GUID / DBTYPE-BYTES /
  DBTYPE-STR / DBTYPE-WSTR / DBTYPE-DBDATE / DBTYPE-DBTIME /
  DBTYPE-DBTIMESTAMP / DBTYPE-VARNUMERIC
  
 VT-EMPTY                = %x00.00
 VT-NULL                 = %x01.00
 VT-I2                   = %x02.00
 VT-I4                   = %x03.00
 VT-R4                   = %x04.00
 VT-R8                   = %x05.00
 VT-CY                   = %x06.00
 VT-DATE                 = %x07.00
 VT-BSTR                 = %x08.00
 VT-DISPATCH             = %x09.00
 VT-ERROR                = %x0A.00 
 VT-BOOL                 = %x0B.00
 VT-UNKNOWN              = %x0D.00
 VT-DECIMAL              = %x0E.00
 VT-UI1                  = %x11.00
 VT-UI4                  = %x19.00
 VT-UI8                  = %x21.00

The following constants indicate array types:

  
 VT-ARRAY-EMPTY          = %x00.20
 VT-ARRAY-NULL           = %x01.20
 VT-ARRAY-I2             = %x02.20
 VT-ARRAY-I4             = %x03.20
 VT-ARRAY-R4             = %x04.20
 VT-ARRAY-R8             = %x05.20
 VT-ARRAY-CY             = %x06.20
 VT-ARRAY-DATE           = %x07.20
 VT-ARRAY-BSTR           = %x08.20
 VT-ARRAY-DISPATCH       = %x09.20
 VT-ARRAY-ERROR          = %x0A.20
 VT-ARRAY-BOOL           = %x0B.20
 VT-ARRAY-VARIANT        = %x0C.20
 VT-ARRAY-UNKNOWN        = %x0D.20
 VT-ARRAY-UI1            = %x11.20

The following constants are used for database communication:

  
 DBTYPE-I1               = %x10.00
 DBTYPE-UI2              = %x12.00
 DBTYPE-UI4              = %x13.00
 DBTYPE-I8               = %x14.00
 DBTYPE-UI8              = %x15.00
 DBTYPE-FILETIME         = %x40.00
 DBTYPE-GUID             = %x48.00
 DBTYPE-BYTES            = %x80.00
 DBTYPE-STR              = %x81.00
 DBTYPE-WSTR             = %x82.00
 DBTYPE-DBDATE           = %x85.00
 DBTYPE-DBTIME           = %x86.00
 DBTYPE-DBTIMESTAMP      = %x87.00
 DBTYPE-VARNUMERIC       = %x8B.00