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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getValue()` |
    `Winevt.EVT_VARIANT_TYPE` | `getVariantType()` |
    `boolean` | `isArray()` |
    `void` | `setValue​(Winevt.EVT_VARIANT_TYPE type, java.lang.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 Detail

    - #### 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 Detail

    - #### EVT_VARIANT

          public EVT_VARIANT()

    - #### EVT_VARIANT

          public EVT_VARIANT​(Pointer peer)

  - ### Method Detail

    - #### 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,
                               java.lang.Object value)

      Parameters:
        `type` -
        `value` -

    - #### getValue

          public java.lang.Object getValue()

      Returns:
        value contained in the EVT_VARIANT