VARENUM 枚举 (wtypes.h)

指定变体类型。

语法

typedef 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_RESERVED = 0x8000,
  VT_ILLEGAL = 0xffff,
  VT_ILLEGALMASKED = 0xfff,
  VT_TYPEMASK = 0xfff
} ;

常量

 
VT_EMPTY
值: 0
未指定。
VT_NULL
值:1
NULL。
VT_I2
值: 2
一个 2 字节整数。
VT_I4
值: 3
一个 4 字节整数。
VT_R4
值: 4
4 字节实际值。
VT_R8
值: 5
8 字节实际。
VT_CY
值: 6
货币。
VT_DATE
值: 7
日期。
VT_BSTR
值: 8
一个字符串。
VT_DISPATCH
值: 9
IDispatch 指针。
VT_ERROR
值: 10
SCODE 值。
VT_BOOL
值: 11
一个布尔值。 True 为 -1,false 为 0。
VT_VARIANT
值: 12
变体指针。
VT_UNKNOWN
值: 13
IUnknown 指针。
VT_DECIMAL
值: 14
16 字节固定指针值。
VT_I1
值: 16
一个字符。
VT_UI1
值: 17
无符号字符。
VT_UI2
值: 18
无符号短。
VT_UI4
值: 19
无符号长。
VT_I8
值: 20
64 位整数。
VT_UI8
值: 21
64 位无符号整数。
VT_INT
值: 22
一个整数。
VT_UINT
值: 23
无符号整数。
VT_VOID
值: 24
C 样式的空隙。
VT_HRESULT
值: 25
HRESULT 值。
VT_PTR
值: 26
指针类型。
VT_SAFEARRAY
值: 27
安全数组。 在 VARIANT 中使用 VT_ARRAY。
VT_CARRAY
值: 28
C 样式数组。
VT_USERDEFINED
值: 29
用户定义的类型。
VT_LPSTR
值: 30
以 null 终止的字符串。
VT_LPWSTR
值: 31
以 null 结尾的宽字符串。
VT_RECORD
值: 36
用户定义的类型。
VT_INT_PTR
值: 37
带符号的计算机寄存器大小宽度。
VT_UINT_PTR
值: 38
未签名的计算机寄存器大小宽度。
VT_FILETIME
值: 64
FILETIME 值。
VT_BLOB
值: 65
长度前缀字节。
VT_STREAM
值: 66
流的名称紧随其后。
VT_STORAGE
值: 67
存储的名称如下所示。
VT_STREAMED_OBJECT
值: 68
流包含 一个 对象。
VT_STORED_OBJECT
值: 69
存储包含 对象。
VT_BLOB_OBJECT
值: 70
Blob 包含一个 对象。
VT_CF
值: 71
剪贴板格式。
VT_CLSID
值: 72
类 ID。
VT_VERSIONED_STREAM
值: 73
具有 GUID 版本的流。
VT_BSTR_BLOB
值: 0xfff
保留。
VT_VECTOR
值: 0x1000
一个简单的计数数组。
VT_ARRAY
值: 0x2000
SAFEARRAY 指针。
VT_BYREF
值: 0x4000
供本地使用的 void 指针。
VT_RESERVED
值: 0x8000
VT_ILLEGAL
值: 0xffff
VT_ILLEGALMASKED
值: 0xfff
VT_TYPEMASK
值: 0xfff

注解

下表显示了可在何处使用这些值。

Value VARIANT TYPEDESC 属性集 安全数组
VT_ARRAY X
VT_BLOB X
VT_BLOB_OBJECT X
VT_BOOL X X X X
VT_BSTR X X X X
VT_BSTR_BLOB
VT_BYREF X
VT_CARRAY X
VT_CF X
VT_CLSID X
VT_CY X X X X
VT_DATE X X X X
VT_DECIMAL X X X
VT_DISPATCH X X X
VT_EMPTY X X
VT_ERROR X X X X
VT_FILETIME X
VT_HRESULT X
VT_I1 X X X X
VT_I2 X X X X
VT_I4 X X X X
VT_I8 X X
VT_INT X X X X
VT_INT_PTR X
VT_LPSTR X X
VT_LPWSTR X X
VT_NULL X X
VT_PTR X
VT_R4 X X X X
VT_R8 X X X X
VT_RECORD X X X
VT_SAFEARRAY X
VT_STORAGE X
VT_STORED_OBJECT X
VT_STREAM X
VT_STREAMED_OBJECT X
VT_UI1 X X X X
VT_UI2 X X X X
VT_UI4 X X X X
VT_UI8 X X
VT_UINT X X X
VT_UINT_PTR X
VT_UNKNOWN X X X
VT_USERDEFINED X
VT_VARIANT X X X X
VT_VECTOR X
VT_VERSIONED_STREAM X
VT_VOID X
 

VT_BSTR_BLOB 保留供系统使用。

要求

   
标头 wtypes.h