// // System.Runtime.InteropServices.ComTypes.ITypeInfo2.cs // // Author: // Kazuki Oikawa (kazuki@panicode.com) // using System; namespace System.Runtime.InteropServices.ComTypes { [ComImport] [Guid("00020412-0000-0000-C000-000000000046")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface ITypeInfo2 : ITypeInfo { new void AddressOfMember (int memid, INVOKEKIND invKind, out IntPtr ppv); new void CreateInstance ([MarshalAs (UnmanagedType.IUnknown)] object pUnkOuter, [In] ref Guid riid, [MarshalAs (UnmanagedType.IUnknown)] out object ppvObj); new void GetContainingTypeLib (out ITypeLib ppTLB, out int pIndex); new void GetDllEntry (int memid, INVOKEKIND invKind, IntPtr pBstrDllName, IntPtr pBstrName, IntPtr pwOrdinal); new void GetDocumentation (int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile); new void GetIDsOfNames ([In, MarshalAs(UnmanagedType.LPArray, ArraySubType = (UnmanagedType.LPWStr), SizeParamIndex=1)] string[] rgszNames, int cNames, [Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex=1)] int[] pMemId); new void GetImplTypeFlags (int index, out IMPLTYPEFLAGS pImplTypeFlags); void GetTypeKind (out TYPEKIND pTypeKind); void GetTypeFlags (out int pTypeFlags); new void GetFuncDesc (int index, out IntPtr ppFuncDesc); new void GetMops (int memid, out string pBstrMops); new void GetNames (int memid, [Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex=2)] string[] rgBstrNames, int cMaxNames, out int pcNames); new void GetRefTypeInfo (int hRef, out ITypeInfo ppTI); new void GetRefTypeOfImplType (int index, out int href); new void GetTypeAttr (out IntPtr ppTypeAttr); new void GetTypeComp (out ITypeComp ppTComp); new void GetVarDesc (int index, out IntPtr ppVarDesc); void GetFuncIndexOfMemId (int memid, INVOKEKIND invKind, out int pFuncIndex); void GetVarIndexOfMemId (int memid, out int pVarIndex); void GetCustData (ref Guid guid, out object pVarVal); void GetFuncCustData(int index, ref Guid guid, out object pVarVal); void GetParamCustData(int indexFunc, int indexParam, ref Guid guid, out object pVarVal); void GetVarCustData(int index, ref Guid guid, out object pVarVal); void GetImplTypeCustData(int index, ref Guid guid, out object pVarVal); [LCIDConversion (1)] void GetDocumentation2(int memid, out string pbstrHelpString, out int pdwHelpStringContext, out string pbstrHelpStringDll); void GetAllCustData(IntPtr pCustData); void GetAllFuncCustData(int index, IntPtr pCustData); void GetAllParamCustData(int indexFunc, int indexParam, IntPtr pCustData); void GetAllVarCustData(int index, IntPtr pCustData); void GetAllImplTypeCustData(int index, IntPtr pCustData); new void Invoke ([MarshalAs (UnmanagedType.IUnknown)] object pvInstance, int memid, short wFlags, ref DISPPARAMS pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, out int puArgErr); [PreserveSig] new void ReleaseTypeAttr (IntPtr pTypeAttr); [PreserveSig] new void ReleaseFuncDesc (IntPtr pFuncDesc); [PreserveSig] new void ReleaseVarDesc (IntPtr pVarDesc); } }