Winevt.EVT_VARIANT (JNA API)
Description: declaration: package: com.sun.jna.platform.win32, interface: Winevt, class: EVT_VARIANT

Package com.sun.jna.platform.win32

# Class Winevt.EVT_VARIANT

java.lang.Object
com.sun.jna.Structure
com.sun.jna.platform.win32.Winevt.EVT_VARIANT

Direct Known Subclasses:
  `Winevt.EVT_VARIANT.ByReference`, `Winevt.EVT_VARIANT.ByValue`

Enclosing interface:
  Winevt

@FieldOrder({"field1","Count","Type"}) public static class Winevt.EVT_VARIANT extends Structure
Contains event data or property values. https://msdn.microsoft.com/en-us/library/windows/desktop/aa385611(v=vs.85).aspx

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `Winevt.EVT_VARIANT.ByReference`
  `static class`
  `Winevt.EVT_VARIANT.ByValue`
  `static class`
  `Winevt.EVT_VARIANT.field1_union`

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

  `Structure.FieldOrder, Structure.StructField`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `int`
  `Count`
  The number of elements in the array of values.
  `Winevt.EVT_VARIANT.field1_union`
  `field1`
  Exposed to follow JNA rules, use the `getValue()` method to manipulate values!
  `int`
  `Type`
  A flag that specifies the data type of the variant.

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

  `ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EVT_VARIANT()`
  `EVT_VARIANT(Pointer peer)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getValue()`
  `Winevt.EVT_VARIANT_TYPE`
  `getVariantType()`
  `boolean`
  `isArray()`
  `void`
  `setValue(Winevt.EVT_VARIANT_TYPE type, Object value)`
  `void`
  `use(Pointer m)`

  ### 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, getFieldOrder, getFields, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, readField, readField, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write, writeField, writeField, writeField`

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

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

- ## Field Details

  - ### field1

    public Winevt.EVT_VARIANT.field1_union field1
    Exposed to follow JNA rules, use the `getValue()` method to manipulate values!

  - ### Count

    public int Count
    The number of elements in the array of values. Use Count if the Type member has the EVT_VARIANT_TYPE_ARRAY flag set.

    Exposed to follow JNA rules, use `getValue()` and `setValue(com.sun.jna.platform.win32.Winevt.EVT_VARIANT_TYPE, java.lang.Object)` methods to manipulate values!

  - ### Type

    public int Type
    A flag that specifies the data type of the variant. For possible values, see the `Winevt.EVT_VARIANT_TYPE` enumeration. The variant contains an array of values, if the EVT_VARIANT_TYPE_ARRAY flag is set. The members that end in "Arr" contain arrays of values. For example, you would use the StringArr member to access the variant data if the type is EvtVarTypeString and the EVT_VARIANT_TYPE_ARRAY flag is set. You can use the `Winevt.EVT_VARIANT_TYPE_MASK` constant to mask out the array bit to determine the variant's type.

    Exposed to follow JNA rules, use `getValue()` and `setValue(com.sun.jna.platform.win32.Winevt.EVT_VARIANT_TYPE, java.lang.Object)` methods to manipulate values!

- ## Constructor Details

  - ### EVT_VARIANT

    public EVT_VARIANT()

  - ### EVT_VARIANT

    public EVT_VARIANT(Pointer peer)

- ## Method Details

  - ### use

    public void use(Pointer m)

  - ### isArray

    public boolean isArray()

  - ### getVariantType

    public Winevt.EVT_VARIANT_TYPE getVariantType()

  - ### setValue

    public void setValue(Winevt.EVT_VARIANT_TYPE type, Object value)
    Parameters:
      `type` -
      `value` -

  - ### getValue

    public Object getValue()
    Returns:
      value contained in the EVT_VARIANT