This documentation is archived and is not being maintained.

VarEnum Enumeration

Indicates how to marshal the array elements when an array is marshaled from managed to unmanaged code as a UnmanagedType.SafeArray.

[Visual Basic]
Public Enum VarEnum
public enum VarEnum
__value public enum VarEnum
enum VarEnum


Used with System.Runtime.InteropServices.MarshalAsAttribute to explicitly control the element type of the SafeArray.


Member name Description
VT_ARRAY Indicates a SAFEARRAY pointer.
VT_BLOB Indicates length prefixed bytes.
VT_BLOB_OBJECT Indicates that a blob contains an object.
VT_BOOL Indicates a Boolean value.
VT_BSTR Indicates a BSTR string.
VT_BYREF Indicates that a value is a reference.
VT_CARRAY Indicates a C style array.
VT_CF Indicates the clipboard format.
VT_CLSID Indicates a class ID.
VT_CY Indicates a currency value.
VT_DATE Indicates a DATE value.
VT_DECIMAL Indicates a decimal value.
VT_DISPATCH Indicates an IDispatch pointer.
VT_EMPTY Indicates that a value was not specified.
VT_ERROR Indicates an SCODE.
VT_FILETIME Indicates a FILETIME value.
VT_I1 Indicates a char value.
VT_I2 Indicates a short integer.
VT_I4 Indicates a long integer.
VT_I8 Indicates a 64-bit integer.
VT_INT Indicates an integer value.
VT_LPSTR Indicates a a null reference (Nothing in Visual Basic) terminated string.
VT_LPWSTR Indicates a wide string terminated by a null reference (Nothing in Visual Basic).
VT_NULL Indicates a a null reference (Nothing in Visual Basic) value, similar to a null value in SQL.
VT_PTR Indicates a pointer type.
VT_R4 Indicates a float value.
VT_R8 Indicates a double value.
VT_RECORD Indicates a user defined type.
VT_SAFEARRAY Indicates a SAFEARRAY. Not valid in a VARIANT.
VT_STORAGE Indicates that the name of a storage follows.
VT_STORED_OBJECT Indicates that a storage contains an object.
VT_STREAM Indicates that the name of a stream follows.
VT_STREAMED_OBJECT Indicates that a stream contains an object.
VT_UI1 Indicates a byte.
VT_UI2 Indicates an unsigned short.
VT_UI4 Indicates an unsigned long.
VT_UI8 Indicates an 64-bit unsigned integer.
VT_UINT Indicates an unsigned integer value.
VT_UNKNOWN Indicates an IUnknown pointer.
VT_USERDEFINED Indicates a user defined type.
VT_VARIANT Indicates a VARIANT far pointer.
VT_VECTOR Indicates a simple, counted array.
VT_VOID Indicates a C style void.


Namespace: System.Runtime.InteropServices

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: Mscorlib (in Mscorlib.dll)

See Also

System.Runtime.InteropServices Namespace | SafeArray | MarshalAsAttribute