CallbackProxy (JNA API)

com.sun.jna.platform.win32.COM.util

## Class CallbackProxy

- java.lang.Object
- - com.sun.jna.platform.win32.COM.util.CallbackProxy

- All Implemented Interfaces:
    IDispatch, IDispatchCallback, IUnknown, IUnknownCallback

      public class CallbackProxy
      extends java.lang.Object
      implements IDispatchCallback

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) java.lang.Class<?>` | `comEventCallbackInterface`
    `(package private) IComEventCallbackListener` | `comEventCallbackListener`
    `DispatchListener` | `dispatchListener`
    `(package private) java.util.Map<OaIdl.DISPID,java.lang.reflect.Method>` | `dsipIdMap`
    `(package private) java.util.concurrent.ExecutorService` | `executorService`
    `(package private) Factory` | `factory`
    `(package private) Guid.GUID.ByValue` | `listenedToRiid`

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

      `IID_IDISPATCH`

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

      `IID_IUNKNOWN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CallbackProxy(Factory factory, java.lang.Class<?> comEventCallbackInterface, IComEventCallbackListener comEventCallbackListener)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `AddRef()`
    `(package private) java.util.Map<OaIdl.DISPID,java.lang.reflect.Method>` | `createDispIdMap(java.lang.Class<?> comEventCallbackInterface)`
    `(package private) Guid.GUID.ByValue` | `createRIID(java.lang.Class<?> comEventCallbackInterface)`
    `(package private) int` | `fetchDispIdFromName(ComEventCallback annotation)`
    `WinNT.HRESULT` | `GetIDsOfNames(Guid.GUID.ByValue riid, WString[] rgszNames, int cNames, WinDef.LCID lcid, OaIdl.DISPIDByReference rgDispId)`
    `Pointer` | `getPointer()`
    `WinNT.HRESULT` | `GetTypeInfo(WinDef.UINT iTInfo, WinDef.LCID lcid, PointerByReference ppTInfo)`
    `WinNT.HRESULT` | `GetTypeInfoCount(WinDef.UINTByReference pctinfo)`
    `WinNT.HRESULT` | `Invoke(OaIdl.DISPID dispIdMember, Guid.GUID.ByValue riid, WinDef.LCID lcid, WinDef.WORD wFlags, OleAuto.DISPPARAMS.ByReference pDispParams, Variant.VARIANT.ByReference pVarResult, OaIdl.EXCEPINFO.ByReference pExcepInfo, IntByReference puArgErr)`
    `(package private) void` | `invokeOnThread(OaIdl.DISPID dispIdMember, Guid.GUID.ByValue riid, WinDef.LCID lcid, WinDef.WORD wFlags, OleAuto.DISPPARAMS.ByReference pDispParams)`
    `WinNT.HRESULT` | `QueryInterface(Guid.GUID.ByValue refid, PointerByReference ppvObject)`
    `int` | `Release()`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### factory

          Factory factory

    - #### comEventCallbackInterface

          java.lang.Class<?> comEventCallbackInterface

    - #### comEventCallbackListener

          IComEventCallbackListener comEventCallbackListener

    - #### listenedToRiid

          Guid.GUID.ByValue listenedToRiid

    - #### dispatchListener

          public DispatchListener dispatchListener

    - #### dsipIdMap

          java.util.Map<OaIdl.DISPID,java.lang.reflect.Method> dsipIdMap

    - #### executorService

          java.util.concurrent.ExecutorService executorService

  - ### Constructor Detail

    - #### CallbackProxy

          public CallbackProxy(Factory factory,
                       java.lang.Class<?> comEventCallbackInterface,
                       IComEventCallbackListener comEventCallbackListener)

  - ### Method Detail

    - #### createRIID

          Guid.GUID.ByValue createRIID(java.lang.Class<?> comEventCallbackInterface)

    - #### createDispIdMap

          java.util.Map<OaIdl.DISPID,java.lang.reflect.Method> createDispIdMap(java.lang.Class<?> comEventCallbackInterface)

    - #### fetchDispIdFromName

          int fetchDispIdFromName(ComEventCallback annotation)

    - #### invokeOnThread

          void invokeOnThread(OaIdl.DISPID dispIdMember,
                            Guid.GUID.ByValue riid,
                            WinDef.LCID lcid,
                            WinDef.WORD wFlags,
                            OleAuto.DISPPARAMS.ByReference pDispParams)

    - #### getPointer

          public Pointer getPointer()

      Specified by:
        `getPointer` in interface `IUnknownCallback`

    - #### GetTypeInfoCount

          public WinNT.HRESULT GetTypeInfoCount(WinDef.UINTByReference pctinfo)

      Specified by:
        `GetTypeInfoCount` in interface `IDispatch`

    - #### GetTypeInfo

          public WinNT.HRESULT GetTypeInfo(WinDef.UINT iTInfo,
                                  WinDef.LCID lcid,
                                  PointerByReference ppTInfo)

      Specified by:
        `GetTypeInfo` in interface `IDispatch`

    - #### GetIDsOfNames

          public WinNT.HRESULT GetIDsOfNames(Guid.GUID.ByValue riid,
                                    WString[] rgszNames,
                                    int cNames,
                                    WinDef.LCID lcid,
                                    OaIdl.DISPIDByReference rgDispId)

      Specified by:
        `GetIDsOfNames` in interface `IDispatch`

    - #### Invoke

          public WinNT.HRESULT Invoke(OaIdl.DISPID dispIdMember,
                             Guid.GUID.ByValue riid,
                             WinDef.LCID lcid,
                             WinDef.WORD wFlags,
                             OleAuto.DISPPARAMS.ByReference pDispParams,
                             Variant.VARIANT.ByReference pVarResult,
                             OaIdl.EXCEPINFO.ByReference pExcepInfo,
                             IntByReference puArgErr)

      Specified by:
        `Invoke` in interface `IDispatch`

    - #### QueryInterface

          public WinNT.HRESULT QueryInterface(Guid.GUID.ByValue refid,
                                     PointerByReference ppvObject)

      Specified by:
        `QueryInterface` in interface `IUnknown`

    - #### AddRef

          public int AddRef()

      Specified by:
        `AddRef` in interface `IUnknown`

    - #### Release

          public int Release()

      Specified by:
        `Release` in interface `IUnknown`

Copyright © 2007-2016 Timothy Wall. All Rights Reserved.