Package com.sun.jna.platform.win32

# Class Variant.VARIANT

java.lang.Object
com.sun.jna.Structure
com.sun.jna.Union
com.sun.jna.platform.win32.Variant.VARIANT

Direct Known Subclasses:
  `Variant.VARIANT.ByReference`, `Variant.VARIANT.ByValue`

Enclosing interface:
  Variant

public static class Variant.VARIANT extends Union

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `Variant.VARIANT._VARIANT`
  `static class`
  `Variant.VARIANT.ByReference`
  `static class`
  `Variant.VARIANT.ByValue`

  ## Nested classes/interfaces inherited from class com.sun.jna.Structure

  `Structure.FieldOrder, Structure.StructField`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `Variant.VARIANT._VARIANT`
  `_variant`
  `OaIdl.DECIMAL`
  `decVal`
  `static final Variant.VARIANT`
  `VARIANT_MISSING`

  ### Fields inherited from class com.sun.jna.Structure

  `ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VARIANT()`
  `VARIANT(boolean value)`
  `VARIANT(byte value)`
  `VARIANT(char value)`
  `VARIANT(double value)`
  `VARIANT(float value)`
  `VARIANT(int value)`
  `VARIANT(long value)`
  `VARIANT(short value)`
  `VARIANT(Dispatch value)`
  `VARIANT(IDispatch value)`
  Deprecated.
  Use `VARIANT(com.sun.jna.platform.win32.COM.Dispatch)`
  `VARIANT(OaIdl.DATE value)`
  `VARIANT(OaIdl.SAFEARRAY array)`
  `VARIANT(OaIdl.SAFEARRAYByReference array)`
  `VARIANT(OaIdl.VARIANT_BOOL value)`
  `VARIANT(WinDef.BOOL value)`
  `VARIANT(WinDef.BYTE value)`
  `VARIANT(WinDef.CHAR value)`
  `VARIANT(WinDef.LONG value)`
  `VARIANT(WinDef.SHORT value)`
  `VARIANT(WTypes.BSTR value)`
  `VARIANT(WTypes.BSTRByReference value)`
  `VARIANT(Pointer pointer)`
  `VARIANT(IntByReference value)`
  `VARIANT(String value)`
  Create a new VARIANT wrapping the supplied string.
  `VARIANT(Date value)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `booleanValue()`
  `byte`
  `byteValue()`
  `Date`
  `dateValue()`
  `double`
  `doubleValue()`
  `float`
  `floatValue()`
  `Object`
  `getValue()`
  `WTypes.VARTYPE`
  `getVarType()`
  `int`
  `intValue()`
  `long`
  `longValue()`
  `void`
  `setValue(int vt, Object value)`
  `void`
  `setValue(OaIdl.SAFEARRAY array)`
  `void`
  `setValue(OaIdl.SAFEARRAYByReference array)`
  `void`
  `setValue(WTypes.VARTYPE vt, Object value)`
  `void`
  `setVarType(short vt)`
  `short`
  `shortValue()`
  `String`
  `stringValue()`

  ### Methods inherited from class com.sun.jna.Union

  `getFieldOrder, getNativeAlignment, getTypedValue, readField, readField, setType, setType, setTypedValue, writeField, writeField, writeField`

  ### Methods inherited from class com.sun.jna.Structure

  `allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, cacheTypeInfo, calculateSize, clear, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, getAutoRead, getAutoWrite, getFieldList, getFields, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### VARIANT_MISSING

    public static final Variant.VARIANT VARIANT_MISSING

  - ### _variant

    public Variant.VARIANT._VARIANT _variant

  - ### decVal

    public OaIdl.DECIMAL decVal

- ## Constructor Details

  - ### VARIANT

    public VARIANT()

  - ### VARIANT

    public VARIANT(Pointer pointer)

  - ### VARIANT

    public VARIANT(WTypes.BSTR value)

  - ### VARIANT

    public VARIANT(WTypes.BSTRByReference value)

  - ### VARIANT

    public VARIANT(OaIdl.VARIANT_BOOL value)

  - ### VARIANT

    public VARIANT(WinDef.BOOL value)

  - ### VARIANT

    public VARIANT(WinDef.LONG value)

  - ### VARIANT

    public VARIANT(WinDef.SHORT value)

  - ### VARIANT

    public VARIANT(OaIdl.DATE value)

  - ### VARIANT

    public VARIANT(byte value)

  - ### VARIANT

    public VARIANT(WinDef.BYTE value)

  - ### VARIANT

    public VARIANT(char value)

  - ### VARIANT

    public VARIANT(WinDef.CHAR value)

  - ### VARIANT

    public VARIANT(short value)

  - ### VARIANT

    public VARIANT(int value)

  - ### VARIANT

    public VARIANT(IntByReference value)

  - ### VARIANT

    public VARIANT(long value)

  - ### VARIANT

    public VARIANT(float value)

  - ### VARIANT

    public VARIANT(double value)

  - ### VARIANT

    public VARIANT(String value)
    Create a new VARIANT wrapping the supplied string.

    Implementation note: the string is wrapped as a BSTR value, that is allocated using `OleAuto.SysAllocString(java.lang.String)` and needs to be freed using `OleAuto.SysFreeString(com.sun.jna.platform.win32.WTypes.BSTR)` by the user

    Parameters:
      `value` - to be wrapped

  - ### VARIANT

    public VARIANT(boolean value)

  - ### VARIANT

    @Deprecated public VARIANT(IDispatch value)
    Deprecated.
    Use `VARIANT(com.sun.jna.platform.win32.COM.Dispatch)`

  - ### VARIANT

    public VARIANT(Dispatch value)

  - ### VARIANT

    public VARIANT(Date value)

  - ### VARIANT

    public VARIANT(OaIdl.SAFEARRAY array)

  - ### VARIANT

    public VARIANT(OaIdl.SAFEARRAYByReference array)

- ## Method Details

  - ### getVarType

    public WTypes.VARTYPE getVarType()

  - ### setVarType

    public void setVarType(short vt)

  - ### setValue

    public void setValue(int vt, Object value)

  - ### setValue

    public void setValue(OaIdl.SAFEARRAY array)

  - ### setValue

    public void setValue(OaIdl.SAFEARRAYByReference array)

  - ### setValue

    public void setValue(WTypes.VARTYPE vt, Object value)

  - ### getValue

    public Object getValue()

  - ### byteValue

    public byte byteValue()

  - ### shortValue

    public short shortValue()

  - ### intValue

    public int intValue()

  - ### longValue

    public long longValue()

  - ### floatValue

    public float floatValue()

  - ### doubleValue

    public double doubleValue()

  - ### stringValue

    public String stringValue()

  - ### booleanValue

    public boolean booleanValue()

  - ### dateValue

    public Date dateValue()