变体(Variant)类型枚举 VARENUM enumeration

 在近期工作的过程中因为需要C++编写的ActiveX控件需要被C#调用,所以频繁地使用到Variant类型,而SafeArray的各种类型又是用枚举量标识的,所以需要经常查阅,就将MSDN的文档搬运至此。


VARENUM enumeration - MSDN

enum VARENUM {
  VT_EMPTY             = 0, 
  VT_NULL              = 1, 
  VT_I2                = 2, 
  VT_I4                = 3, 
  VT_R4                = 4, 
  VT_R8                = 5, 
  VT_CY                = 6, 
  VT_DATE              = 7, 
  VT_BSTR              = 8, 
  VT_DISPATCH          = 9, 
  VT_ERROR             = 10, 
  VT_BOOL              = 11, 
  VT_VARIANT           = 12, 
  VT_UNKNOWN           = 13, 
  VT_DECIMAL           = 14, 
  VT_I1                = 16, 
  VT_UI1               = 17, 
  VT_UI2               = 18, 
  VT_UI4               = 19, 
  VT_I8                = 20, 
  VT_UI8               = 21, 
  VT_INT               = 22, 
  VT_UINT              = 23, 
  VT_VOID              = 24, 
  VT_HRESULT           = 25, 
  VT_PTR               = 26, 
  VT_SAFEARRAY         = 27, 
  VT_CARRAY            = 28, 
  VT_USERDEFINED       = 29, 
  VT_LPSTR             = 30, 
  VT_LPWSTR            = 31, 
  VT_RECORD            = 36, 
  VT_INT_PTR           = 37, 
  VT_UINT_PTR          = 38, 
  VT_FILETIME          = 64, 
  VT_BLOB              = 65, 
  VT_STREAM            = 66, 
  VT_STORAGE           = 67, 
  VT_STREAMED_OBJECT   = 68, 
  VT_STORED_OBJECT     = 69, 
  VT_BLOB_OBJECT       = 70, 
  VT_CF                = 71, 
  VT_CLSID             = 72, 
  VT_VERSIONED_STREAM  = 73, 
  VT_BSTR_BLOB         = 0xfff, 
  VT_VECTOR            = 0x1000, 
  VT_ARRAY             = 0x2000, 
  VT_BYREF             = 0x4000 

};

VT_EMPTY

 Not specified.

VT_NULL

 Null.

VT_I2

 A 2-byte integer.

VT_I4

 A 4-byte integer.

VT_R4

 A 4-byte real.

VT_R8

 An 8-byte real.

VT_CY

 Currency.

VT_DATE

 A date.

VT_BSTR

 A string.

VT_DISPATCH

 An IDispatch pointer.

VT_ERROR

 An SCODE value.

VT_BOOL

 A Boolean value. True is -1 and false is 0.

VT_VARIANT

 A variant pointer.

VT_UNKNOWN

 An IUnknown pointer.

VT_DECIMAL

 A 16-byte fixed-pointer value.

VT_I1

 A character.

VT_UI1

 An unsigned character.

VT_UI2

 An unsigned short.

VT_UI4

 An unsigned long.

VT_I8

 A 64-bit integer.

VT_UI8

 A 64-bit unsigned integer.

VT_INT

 An integer.

VT_UINT

 An unsigned integer.

VT_VOID

 A C-style void.

VT_HRESULT

 An HRESULT value.

VT_PTR

 A pointer type.

VT_SAFEARRAY

 A safe array. Use VT_ARRAY in VARIANT.

VT_CARRAY

 A C-style array.

VT_USERDEFINED

 A user-defined type.

VT_LPSTR

 A null-terminated string.

VT_LPWSTR

 A wide null-terminated string.

VT_RECORD

 A user-defined type.

VT_INT_PTR

 A signed machine register size width.

VT_UINT_PTR

 An unsigned machine register size width.

VT_FILETIME

 A FILETIME value.

VT_BLOB

 Length-prefixed bytes.

VT_STREAM

 The name of the stream follows.

VT_STORAGE

 The name of the storage follows.

VT_STREAMED_OBJECT

 The stream contains an object.

VT_STORED_OBJECT

 The storage contains an object.

VT_BLOB_OBJECT

 The blob contains an object.

VT_CF

 A clipboard format.

VT_CLSID

 A class ID.

VT_VERSIONED_STREAM

 A stream with a GUID version.

VT_BSTR_BLOB

 Reserved.

VT_VECTOR

 A simple counted array.

VT_ARRAY

 A SAFEARRAY pointer.

VT_BYREF

 A void pointer for local use.


猜你喜欢

转载自blog.csdn.net/xdg_blog/article/details/53022523