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

# Class TypeLib

java.lang.Object
com.sun.jna.PointerType
com.sun.jna.platform.win32.COM.COMInvoker
com.sun.jna.platform.win32.COM.Unknown
com.sun.jna.platform.win32.COM.TypeLib

All Implemented Interfaces:
  `NativeMapped`, `ITypeLib`, `IUnknown`

Direct Known Subclasses:
  `TypeLib.ByReference`

public class TypeLib extends Unknown implements ITypeLib
Wrapper class for the ITypeLib interface.

Author:
  Tobias Wolf, wolf.tobias@gmx.net

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `TypeLib.ByReference`

- ## Field Summary

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

  `IID_IUNKNOWN`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TypeLib()`
  Instantiates a new i type lib.
  `TypeLib(Pointer pvInstance)`
  Instantiates a new i type lib.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `WinNT.HRESULT`
  `FindName(WTypes.LPOLESTR szNameBuf, WinDef.ULONG lHashVal, Pointer[] ppTInfo, OaIdl.MEMBERID[] rgMemId, WinDef.USHORTByReference pcFound)`
  Find name.
  `WinNT.HRESULT`
  `GetDocumentation(int index, WTypes.BSTRByReference pBstrName, WTypes.BSTRByReference pBstrDocString, WinDef.DWORDByReference pdwHelpContext, WTypes.BSTRByReference pBstrHelpFile)`
  Gets the documentation.
  `WinNT.HRESULT`
  `GetLibAttr(PointerByReference ppTLibAttr)`
  Gets the lib attr.
  `WinNT.HRESULT`
  `GetTypeComp(PointerByReference pTComp)`
  Gets the type comp.
  `WinNT.HRESULT`
  `GetTypeInfo(WinDef.UINT index, PointerByReference pTInfo)`
  Gets the type info.
  `WinDef.UINT`
  `GetTypeInfoCount()`
  Gets the type info count.
  `WinNT.HRESULT`
  `GetTypeInfoOfGuid(Guid.GUID guid, PointerByReference pTinfo)`
  Gets the type info of guid.
  `WinNT.HRESULT`
  `GetTypeInfoType(WinDef.UINT index, OaIdl.TYPEKIND.ByReference pTKind)`
  Gets the type info type.
  `WinNT.HRESULT`
  `IsName(WTypes.LPOLESTR szNameBuf, WinDef.ULONG lHashVal, WinDef.BOOLByReference pfName)`
  Checks if is name.
  `void`
  `ReleaseTLibAttr(OaIdl.TLIBATTR pTLibAttr)`
  Release t lib attr.

  ### Methods inherited from class com.sun.jna.platform.win32.COM.Unknown

  `AddRef, QueryInterface, Release`

  ### Methods inherited from class com.sun.jna.platform.win32.COM.COMInvoker

  `_invokeNativeInt, _invokeNativeObject, _invokeNativeVoid`

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

  `equals, fromNative, getPointer, hashCode, nativeType, setPointer, toNative, toString`

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

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

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

  `AddRef, QueryInterface, Release`

- ## Constructor Details

  - ### TypeLib

    public TypeLib()
    Instantiates a new i type lib.

  - ### TypeLib

    public TypeLib(Pointer pvInstance)
    Instantiates a new i type lib.
    Parameters:
      `pvInstance` - the pv instance

- ## Method Details

  - ### GetTypeInfoCount

    public WinDef.UINT GetTypeInfoCount()
    Gets the type info count.
    Specified by:
      `GetTypeInfoCount` in interface `ITypeLib`
    Returns:
      the uint

  - ### GetTypeInfo

    public WinNT.HRESULT GetTypeInfo(WinDef.UINT index, PointerByReference pTInfo)
    Gets the type info.
    Specified by:
      `GetTypeInfo` in interface `ITypeLib`
    Parameters:
      `index` - the index
      `pTInfo` - the t info
    Returns:
      the hresult

  - ### GetTypeInfoType

    public WinNT.HRESULT GetTypeInfoType(WinDef.UINT index, OaIdl.TYPEKIND.ByReference pTKind)
    Gets the type info type.
    Specified by:
      `GetTypeInfoType` in interface `ITypeLib`
    Parameters:
      `index` - the index
      `pTKind` - the t kind
    Returns:
      the hresult

  - ### GetTypeInfoOfGuid

    public WinNT.HRESULT GetTypeInfoOfGuid(Guid.GUID guid, PointerByReference pTinfo)
    Gets the type info of guid.
    Specified by:
      `GetTypeInfoOfGuid` in interface `ITypeLib`
    Parameters:
      `guid` - the guid
      `pTinfo` - the tinfo
    Returns:
      the hresult

  - ### GetLibAttr

    public WinNT.HRESULT GetLibAttr(PointerByReference ppTLibAttr)
    Gets the lib attr.
    Specified by:
      `GetLibAttr` in interface `ITypeLib`
    Parameters:
      `ppTLibAttr` - the pp t lib attr
    Returns:
      the hresult

  - ### GetTypeComp

    public WinNT.HRESULT GetTypeComp(PointerByReference pTComp)
    Gets the type comp.
    Specified by:
      `GetTypeComp` in interface `ITypeLib`
    Parameters:
      `pTComp` - the t comp
    Returns:
      the hresult

  - ### GetDocumentation

    public WinNT.HRESULT GetDocumentation(int index, WTypes.BSTRByReference pBstrName, WTypes.BSTRByReference pBstrDocString, WinDef.DWORDByReference pdwHelpContext, WTypes.BSTRByReference pBstrHelpFile)
    Gets the documentation.
    Specified by:
      `GetDocumentation` in interface `ITypeLib`
    Parameters:
      `index` - the index
      `pBstrName` - the bstr name
      `pBstrDocString` - the bstr doc string
      `pdwHelpContext` - the pdw help context
      `pBstrHelpFile` - the bstr help file
    Returns:
      the hresult

  - ### IsName

    public WinNT.HRESULT IsName(WTypes.LPOLESTR szNameBuf, WinDef.ULONG lHashVal, WinDef.BOOLByReference pfName)
    Checks if is name.
    Specified by:
      `IsName` in interface `ITypeLib`
    Parameters:
      `szNameBuf` - the sz name buf
      `lHashVal` - the l hash val
      `pfName` - the pf name
    Returns:
      the hresult

  - ### FindName

    public WinNT.HRESULT FindName(WTypes.LPOLESTR szNameBuf, WinDef.ULONG lHashVal, Pointer[] ppTInfo, OaIdl.MEMBERID[] rgMemId, WinDef.USHORTByReference pcFound)
    Find name.
    Specified by:
      `FindName` in interface `ITypeLib`
    Parameters:
      `szNameBuf` - the sz name buf
      `lHashVal` - the l hash val
      `ppTInfo` - the pp t info
      `rgMemId` - the rg mem id
      `pcFound` - the pc found
    Returns:
      the hresult

  - ### ReleaseTLibAttr

    public void ReleaseTLibAttr(OaIdl.TLIBATTR pTLibAttr)
    Release t lib attr.
    Specified by:
      `ReleaseTLibAttr` in interface `ITypeLib`
    Parameters:
      `pTLibAttr` - the t lib attr