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

## Class COMBindingBaseObject

- java.lang.Object
- - com.sun.jna.PointerType
  - - com.sun.jna.platform.win32.COM.COMInvoker
    - - com.sun.jna.platform.win32.COM.COMBindingBaseObject

- All Implemented Interfaces:
    `NativeMapped`
  Direct Known Subclasses:
    `COMEarlyBindingObject`, `COMLateBindingObject`

      public class COMBindingBaseObject
      extends COMInvoker

  Helper class to provide basic COM support.
  Author:
    Tobias Wolf, wolf.tobias@gmx.net

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static WinDef.LCID` | `LOCALE_SYSTEM_DEFAULT` | The Constant LOCALE_SYSTEM_DEFAULT.
    `static WinDef.LCID` | `LOCALE_USER_DEFAULT` | The Constant LOCALE_USER_DEFAULT.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `COMBindingBaseObject​(IDispatch dispatch)` |
    `COMBindingBaseObject​(Guid.CLSID clsid, boolean useActiveInstance)` |
    `COMBindingBaseObject​(Guid.CLSID clsid, boolean useActiveInstance, int dwClsContext)` |
    `COMBindingBaseObject​(java.lang.String progId, boolean useActiveInstance)` |
    `COMBindingBaseObject​(java.lang.String progId, boolean useActiveInstance, int dwClsContext)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `checkFailed​(WinNT.HRESULT hr)` | Deprecated. Use `COMUtils.checkRC(com.sun.jna.platform.win32.WinNT.HRESULT)`
    `IDispatch` | `getIDispatch()` | Gets the i dispatch.
    `PointerByReference` | `getIDispatchPointer()` | Gets the i dispatch pointer.
    `IUnknown` | `getIUnknown()` | Gets the i unknown.
    `PointerByReference` | `getIUnknownPointer()` | Gets the i unknown pointer.
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, OaIdl.DISPID dispId)` | Deprecated. Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, com.sun.jna.platform.win32.OaIdl.DISPID)`
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, OaIdl.DISPID dispId, Variant.VARIANT pArg)` | Deprecated. Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, com.sun.jna.platform.win32.OaIdl.DISPID, com.sun.jna.platform.win32.Variant.VARIANT)`
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, OaIdl.DISPID dispId, Variant.VARIANT[] pArgs)` | Deprecated. `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, com.sun.jna.platform.win32.OaIdl.DISPID, com.sun.jna.platform.win32.Variant.VARIANT[])`
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, java.lang.String name)` | Deprecated. Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, java.lang.String)`
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, java.lang.String name, Variant.VARIANT pArg)` | Deprecated. Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, java.lang.String, com.sun.jna.platform.win32.Variant.VARIANT)`
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, java.lang.String name, Variant.VARIANT[] pArgs)` | Deprecated. `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, java.lang.String, com.sun.jna.platform.win32.Variant.VARIANT[])`
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, OaIdl.DISPID dispId)` |
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, OaIdl.DISPID dispId, Variant.VARIANT pArg)` |
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, OaIdl.DISPID dispId, Variant.VARIANT[] pArgs)` |
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, java.lang.String name)` | Ole method.
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, java.lang.String name, Variant.VARIANT pArg)` | Ole method.
    `protected WinNT.HRESULT` | `oleMethod​(int nType, Variant.VARIANT.ByReference pvResult, java.lang.String name, Variant.VARIANT[] pArgs)` |
    `void` | `release()` | 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`

- - ### Field Detail

    - #### LOCALE_USER_DEFAULT

          public static final WinDef.LCID LOCALE_USER_DEFAULT

      The Constant LOCALE_USER_DEFAULT.

    - #### LOCALE_SYSTEM_DEFAULT

          public static final WinDef.LCID LOCALE_SYSTEM_DEFAULT

      The Constant LOCALE_SYSTEM_DEFAULT.

  - ### Constructor Detail

    - #### COMBindingBaseObject

          public COMBindingBaseObject​(IDispatch dispatch)

    - #### COMBindingBaseObject

          public COMBindingBaseObject​(Guid.CLSID clsid,
                                      boolean useActiveInstance)

    - #### COMBindingBaseObject

          public COMBindingBaseObject​(Guid.CLSID clsid,
                                      boolean useActiveInstance,
                                      int dwClsContext)

    - #### COMBindingBaseObject

          public COMBindingBaseObject​(java.lang.String progId,
                                      boolean useActiveInstance,
                                      int dwClsContext)
                               throws COMException

      Throws:
        `COMException`

    - #### COMBindingBaseObject

          public COMBindingBaseObject​(java.lang.String progId,
                                      boolean useActiveInstance)
                               throws COMException

      Throws:
        `COMException`

  - ### Method Detail

    - #### getIDispatch

          public IDispatch getIDispatch()

      Gets the i dispatch.
      Returns:
        the i dispatch

    - #### getIDispatchPointer

          public PointerByReference getIDispatchPointer()

      Gets the i dispatch pointer.
      Returns:
        the i dispatch pointer

    - #### getIUnknown

          public IUnknown getIUnknown()

      Gets the i unknown.
      Returns:
        the i unknown

    - #### getIUnknownPointer

          public PointerByReference getIUnknownPointer()

      Gets the i unknown pointer.
      Returns:
        the i unknown pointer

    - #### release

          public void release()

      Release.

    - #### oleMethod

          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            java.lang.String name,
                                            Variant.VARIANT[] pArgs)
                                     throws COMException

      Throws:
        `COMException`

    - #### oleMethod

          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            OaIdl.DISPID dispId,
                                            Variant.VARIANT[] pArgs)
                                     throws COMException

      Throws:
        `COMException`

    - #### oleMethod

          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            java.lang.String name,
                                            Variant.VARIANT pArg)
                                     throws COMException

      Ole method.
      Parameters:
        `nType` - the n type
        `pvResult` - the pv result
        `name` - the name
        `pArg` - the arg
      Returns:
        the hresult
      Throws:
        `COMException` - the cOM exception

    - #### oleMethod

          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            OaIdl.DISPID dispId,
                                            Variant.VARIANT pArg)
                                     throws COMException

      Throws:
        `COMException`

    - #### oleMethod

          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            java.lang.String name)
                                     throws COMException

      Ole method.
      Parameters:
        `nType` - the n type
        `pvResult` - the pv result
        `name` - the name
      Returns:
        the hresult
      Throws:
        `COMException` - the cOM exception

    - #### oleMethod

          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            OaIdl.DISPID dispId)
                                     throws COMException

      Throws:
        `COMException`

    - #### oleMethod

          @Deprecated
          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            IDispatch pDisp,
                                            java.lang.String name,
                                            Variant.VARIANT[] pArgs)
                                     throws COMException

      Deprecated.
      `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, java.lang.String, com.sun.jna.platform.win32.Variant.VARIANT[])`
      Throws:
        `COMException`

    - #### oleMethod

          @Deprecated
          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            IDispatch pDisp,
                                            OaIdl.DISPID dispId,
                                            Variant.VARIANT[] pArgs)
                                     throws COMException

      Deprecated.
      `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, com.sun.jna.platform.win32.OaIdl.DISPID, com.sun.jna.platform.win32.Variant.VARIANT[])`
      Throws:
        `COMException`

    - #### oleMethod

          @Deprecated
          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            IDispatch pDisp,
                                            java.lang.String name,
                                            Variant.VARIANT pArg)
                                     throws COMException

      Deprecated.
      Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, java.lang.String, com.sun.jna.platform.win32.Variant.VARIANT)`
      Throws:
        `COMException`

    - #### oleMethod

          @Deprecated
          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            IDispatch pDisp,
                                            OaIdl.DISPID dispId,
                                            Variant.VARIANT pArg)
                                     throws COMException

      Deprecated.
      Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, com.sun.jna.platform.win32.OaIdl.DISPID, com.sun.jna.platform.win32.Variant.VARIANT)`
      Throws:
        `COMException`

    - #### oleMethod

          @Deprecated
          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            IDispatch pDisp,
                                            java.lang.String name)
                                     throws COMException

      Deprecated.
      Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, java.lang.String)`
      Throws:
        `COMException`

    - #### oleMethod

          @Deprecated
          protected WinNT.HRESULT oleMethod​(int nType,
                                            Variant.VARIANT.ByReference pvResult,
                                            IDispatch pDisp,
                                            OaIdl.DISPID dispId)
                                     throws COMException

      Deprecated.
      Use `oleMethod(int, com.sun.jna.platform.win32.Variant.VARIANT.ByReference, com.sun.jna.platform.win32.OaIdl.DISPID)`
      Throws:
        `COMException`

    - #### checkFailed

          @Deprecated
          protected void checkFailed​(WinNT.HRESULT hr)

      Deprecated.
      Use `COMUtils.checkRC(com.sun.jna.platform.win32.WinNT.HRESULT)`
      Check failed.
      Parameters:
        `hr` - the hr