Variant.VariantType Enumeration

Specifies the type of a variant object as used by a managed package framework (MPF) language service class.

Namespace:  Microsoft.VisualStudio.Package
Assemblies:   Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)


Public Enumeration VariantType
public enum VariantType
public enum class VariantType
type VariantType
public enum VariantType


Member name Description
VT_ARRAY An array of variants.
VT_BLOB An arbitrary block of memory.
VT_BLOB_OBJECT An arbitrary block of memory representing an object.
VT_BOOL A value representing true (-1) or false (0).
VT_BSTR A string.
VT_BYREF A reference to an object.
VT_CARRAY A C-style array (an array of pointers).
VT_CF A value specifying a clipboard format.
VT_CLSID A GUID for a class (a CLSID).
VT_CY A Currency value (fixed decimal point value stored in 64-bits).
VT_DATE A DATE object.
VT_DECIMAL A decimal number stored as a string.
VT_DISPATCH An object that implements the IDispatch interface.
VT_EMPTY An empty variant.
VT_ERROR An error code (typically returned from a Win32 function).
VT_HRESULT An HRESULT or COM return value.
VT_I1 A 1 byte (8-bit) signed integer.
VT_I2 A 2 byte (16-bit) signed integer.
VT_I4 A 4 byte (32-bit) signed integer.
VT_I8 An 8 byte (64-bit) signed integer.
VT_ILLEGAL Represents an illegal variant type.
VT_ILLEGALMASKED A bit mask to isolate valid variant types.
VT_INT A generic integer (typically a 32-bit value).
VT_LPSTR A pointer to a null-terminated ANSI string.
VT_LPWSTR A pointer to a null-terminated wide character (Unicode) string.
VT_NULL A null value.
VT_PTR A generic pointer.
VT_R4 A 4 byte real number, also known as a float.
VT_R8 An 8 byte real number, also known as a double.
VT_RESERVED Reserved for future use.
VT_SAFEARRAY An array that is guaranteed to be at least empty (that is, it is never a null value).
VT_STORAGE Name of the storage.
VT_STORED_OBJECT A storage object.
VT_STREAM A stream of bytes.
VT_STREAMED_OBJECT A stream that contains an object.
VT_TYPEMASK A bit mask to isolate valid variant types.
VT_UI1 A 1 byte (8-bit) unsigned integer.
VT_UI2 A 2 byte (16-bit) unsigned integer.
VT_UI4 A 4 byte (32-bit) unsigned integer.
VT_UI8 An 8 byte (64-bit) unsigned integer.
VT_UINT A generic unsigned integer (typically 32-bits).
VT_UNKNOWN An object implementing the IUnknown interface.
VT_USERDEFINED A user-defined blob.
VT_VARIANT A reference to a variant object.
VT_VECTOR An array with a leading count value.
VT_VOID A C-style void type.


The values here correspond to a standard variant type but these are used specifically with the Variant structure in an MPF language service. The language service is interested in only one variant type, VT_UI2, which is a 2 byte unsigned integer representing a Unicode character.

See Also


Microsoft.VisualStudio.Package Namespace