/* Copyright (c) 2012 Tobias Wolf, All Rights Reserved * * The contents of this file is dual-licensed under 2 * alternative Open Source/Free licenses: LGPL 2.1 or later and * Apache License 2.0. (starting with JNA version 4.0.0). * * You can freely decide which license you want to apply to * the project. * * You may obtain a copy of the LGPL License at: * * http://www.gnu.org/licenses/licenses.html * * A copy is also included in the downloadable source code package * containing JNA, in file "LGPL2.1". * * You may obtain a copy of the Apache License at: * * http://www.apache.org/licenses/ * * A copy is also included in the downloadable source code package * containing JNA, in file "AL2.0". */ package com.sun.jna.platform.win32.COM; import com.sun.jna.platform.win32.Guid.REFIID; import com.sun.jna.platform.win32.OaIdl.EXCEPINFO; import com.sun.jna.platform.win32.OaIdl.FUNCDESC; import com.sun.jna.platform.win32.OaIdl.HREFTYPE; import com.sun.jna.platform.win32.OaIdl.HREFTYPEByReference; import com.sun.jna.platform.win32.OaIdl.INVOKEKIND; import com.sun.jna.platform.win32.OaIdl.MEMBERID; import com.sun.jna.platform.win32.OaIdl.TYPEATTR; import com.sun.jna.platform.win32.OaIdl.VARDESC; import com.sun.jna.platform.win32.OleAuto.DISPPARAMS; import com.sun.jna.platform.win32.Variant.VARIANT; import com.sun.jna.platform.win32.WTypes.BSTR; import com.sun.jna.platform.win32.WTypes.BSTRByReference; import com.sun.jna.platform.win32.WTypes.LPOLESTR; import com.sun.jna.platform.win32.WinDef.DWORDByReference; import com.sun.jna.platform.win32.WinDef.PVOID; import com.sun.jna.platform.win32.WinDef.UINT; import com.sun.jna.platform.win32.WinDef.UINTByReference; import com.sun.jna.platform.win32.WinDef.WORD; import com.sun.jna.platform.win32.WinDef.WORDByReference; import com.sun.jna.platform.win32.WinNT.HRESULT; import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.PointerByReference; // TODO: Auto-generated Javadoc /** * Wrapper class for the ITypeInfo interface. * * @author Tobias Wolf, wolf.tobias@gmx.net */ public interface ITypeInfo extends IUnknown { public HRESULT GetTypeAttr( /* [out] */PointerByReference ppTypeAttr); public HRESULT GetTypeComp( /* [out] */PointerByReference ppTComp); public/* [local] */HRESULT GetFuncDesc( /* [in] */UINT index, /* [out] */PointerByReference ppFuncDesc); public/* [local] */HRESULT GetVarDesc( /* [in] */UINT index, /* [out] */PointerByReference ppVarDesc); public/* [local] */HRESULT GetNames( /* [in] */MEMBERID memid, /* [length_is][size_is][out] */BSTR[] rgBstrNames, /* [in] */UINT cMaxNames, /* [out] */UINTByReference pcNames); public HRESULT GetRefTypeOfImplType( /* [in] */UINT index, /* [out] */HREFTYPEByReference pRefType); public HRESULT GetImplTypeFlags( /* [in] */UINT index, /* [out] */IntByReference pImplTypeFlags); public/* [local] */HRESULT GetIDsOfNames( /* [size_is][in] */LPOLESTR[] rgszNames, /* [in] */UINT cNames, /* [size_is][out] */MEMBERID[] pMemId); public/* [local] */HRESULT Invoke( /* [in] */PVOID pvInstance, /* [in] */MEMBERID memid, /* [in] */WORD wFlags, /* [out][in] */DISPPARAMS.ByReference pDispParams, /* [out] */VARIANT.ByReference pVarResult, /* [out] */EXCEPINFO.ByReference pExcepInfo, /* [out] */UINTByReference puArgErr); public/* [local] */HRESULT GetDocumentation( /* [in] */MEMBERID memid, /* [out] */BSTRByReference pBstrName, /* [out] */BSTRByReference pBstrDocString, /* [out] */DWORDByReference pdwHelpContext, /* [out] */BSTRByReference pBstrHelpFile); public/* [local] */HRESULT GetDllEntry( /* [in] */MEMBERID memid, /* [in] */INVOKEKIND invKind, /* [out] */BSTRByReference pBstrDllName, /* [out] */BSTRByReference pBstrName, /* [out] */WORDByReference pwOrdinal); public HRESULT GetRefTypeInfo( /* [in] */HREFTYPE hRefType, /* [out] */PointerByReference ppTInfo); public/* [local] */HRESULT AddressOfMember( /* [in] */MEMBERID memid, /* [in] */INVOKEKIND invKind, /* [out] */PointerByReference ppv); public/* [local] */HRESULT CreateInstance( /* [in] */IUnknown pUnkOuter, /* [in] */REFIID riid, /* [iid_is][out] */PointerByReference ppvObj); public HRESULT GetMops( /* [in] */MEMBERID memid, /* [out] */BSTRByReference pBstrMops); public/* [local] */HRESULT GetContainingTypeLib( /* [out] */PointerByReference ppTLib, /* [out] */UINTByReference pIndex); public/* [local] */void ReleaseTypeAttr( /* [in] */TYPEATTR pTypeAttr); public/* [local] */void ReleaseFuncDesc( /* [in] */FUNCDESC pFuncDesc); public/* [local] */void ReleaseVarDesc( /* [in] */VARDESC pVarDesc); }