IEnumVariant (JNA API)
Description: declaration: package: com.sun.jna.platform.win32.COM, interface: IEnumVariant

Package com.sun.jna.platform.win32.COM

# Interface IEnumVariant

All Superinterfaces:
  `IUnknown`

All Known Implementing Classes:
  `EnumVariant`

public interface IEnumVariant extends IUnknown
Provides a method for enumerating a collection of variants, including heterogeneous collections of objects and intrinsic types. Callers of this interface do not need to know the specific type (or types) of the elements in the collection.

- ## Field Summary

  ### Fields inherited from interface com.sun.jna.platform.win32.COM.IUnknown

  `IID_IUNKNOWN`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `IEnumVariant`
  `Clone()`
  Creates a copy of the current state of enumeration.
  `Variant.VARIANT[]`
  `Next(int count)`
  Retrieves the specified items in the enumeration sequence.
  `void`
  `Reset()`
  Resets the enumeration sequence to the beginning.
  `void`
  `Skip(int count)`
  Attempts to skip over the next celt elements in the enumeration sequence.

  ### Methods inherited from interface com.sun.jna.platform.win32.COM.IUnknown

  `AddRef, QueryInterface, Release`

- ## Method Details

  - ### Clone

    IEnumVariant Clone()
    Creates a copy of the current state of enumeration.
    Returns:
      clone of the backing enumeration

  - ### Next

    Variant.VARIANT[] Next(int count)
    Retrieves the specified items in the enumeration sequence.

    Count is the upper limit and less values can be retrieved.

    Parameters:
      `count` - maximum number of elements to retrieve
    Returns:
      array of VARIANTs

  - ### Reset

    void Reset()
    Resets the enumeration sequence to the beginning.

  - ### Skip

    void Skip(int count)
    Attempts to skip over the next celt elements in the enumeration sequence.
    Parameters:
      `count` - elements to skip