Table of Contents

Enum VarType

Namespace
NAudio.CoreAudioApi.Interfaces
Assembly
NAudio.Wasapi.dll

PROPVARIANT type tags from propidl.h (the VT_* constants). Numeric values match the COM ABI, so this enum is interchangeable with the PROPVARIANT.vt field via cast. Defined locally to avoid System.Runtime.InteropServices.VarEnum, which is obsolete (SYSLIB0050) as part of the deprecation of built-in VARIANT marshalling.

[Flags]
public enum VarType : ushort

Fields

VT_BLOB = VT_NULL | VT_FILETIME

VT_BLOB — counted byte array (length + pointer).

VT_BOOL = 11

VT_BOOL — VARIANT_BOOL (-1 = true, 0 = false).

VT_CLSID = 72

VT_CLSID — pointer to a GUID.

VT_EMPTY = 0

VT_EMPTY — no value.

VT_FILETIME = 64

VT_FILETIME — 64-bit FILETIME.

VT_I1 = 16

VT_I1 — signed 8-bit integer.

VT_I2 = 2

VT_I2 — signed 16-bit integer.

VT_I4 = VT_NULL | VT_I2

VT_I4 — signed 32-bit integer.

VT_I8 = VT_R4 | VT_I1

VT_I8 — signed 64-bit integer.

VT_INT = VT_I2 | VT_I8

VT_INT — signed machine-word integer.

VT_LPSTR = 30

VT_LPSTR — pointer to a null-terminated ANSI string.

VT_LPWSTR = VT_NULL | VT_LPSTR

VT_LPWSTR — pointer to a null-terminated UTF-16 string.

VT_NULL = 1

VT_NULL — SQL-style null.

VT_R4 = 4

VT_R4 — 32-bit float.

VT_R8 = VT_NULL | VT_R4

VT_R8 — 64-bit double.

VT_UI1 = VT_NULL | VT_I1

VT_UI1 — unsigned 8-bit integer.

VT_UI2 = VT_I2 | VT_I1

VT_UI2 — unsigned 16-bit integer.

VT_UI4 = VT_NULL | VT_UI2

VT_UI4 — unsigned 32-bit integer.

VT_UI8 = VT_NULL | VT_I8

VT_UI8 — unsigned 64-bit integer.

VT_UINT = VT_NULL | VT_INT

VT_UINT — unsigned machine-word integer.

VT_VECTOR = 4096

VT_VECTOR — flag combined with another VT_* to indicate a counted array (CA*).