2 // System.Runtime.InteropServices.ComTypes.ITypeInfo2.cs
5 // Kazuki Oikawa (kazuki@panicode.com)
11 namespace System.Runtime.InteropServices.ComTypes
14 [Guid("00020412-0000-0000-C000-000000000046")]
15 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
16 public interface ITypeInfo2 : ITypeInfo
18 new void AddressOfMember (int memid, INVOKEKIND invKind, out IntPtr ppv);
19 new void CreateInstance ([MarshalAs (UnmanagedType.IUnknown)] object pUnkOuter, [In] ref Guid riid, [MarshalAs (UnmanagedType.IUnknown)] out object ppvObj);
20 new void GetContainingTypeLib (out ITypeLib ppTLB, out int pIndex);
21 new void GetDllEntry (int memid, INVOKEKIND invKind, IntPtr pBstrDllName, IntPtr pBstrName, IntPtr pwOrdinal);
22 new void GetDocumentation (int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
23 new void GetIDsOfNames ([In, MarshalAs(UnmanagedType.LPArray, ArraySubType = (UnmanagedType.LPWStr), SizeParamIndex=1)] string[] rgszNames, int cNames, [Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex=1)] int[] pMemId);
25 new void GetImplTypeFlags (int index, out IMPLTYPEFLAGS pImplTypeFlags);
26 void GetTypeKind (out TYPEKIND pTypeKind);
27 void GetTypeFlags (out int pTypeFlags);
28 new void GetFuncDesc (int index, out IntPtr ppFuncDesc);
29 new void GetMops (int memid, out string pBstrMops);
30 new void GetNames (int memid, [Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex=2)] string[] rgBstrNames, int cMaxNames, out int pcNames);
31 new void GetRefTypeInfo (int hRef, out ITypeInfo ppTI);
32 new void GetRefTypeOfImplType (int index, out int href);
33 new void GetTypeAttr (out IntPtr ppTypeAttr);
34 new void GetTypeComp (out ITypeComp ppTComp);
35 new void GetVarDesc (int index, out IntPtr ppVarDesc);
36 void GetFuncIndexOfMemId (int memid, INVOKEKIND invKind, out int pFuncIndex);
37 void GetVarIndexOfMemId (int memid, out int pVarIndex);
38 void GetCustData (ref Guid guid, out object pVarVal);
39 void GetFuncCustData(int index, ref Guid guid, out object pVarVal);
40 void GetParamCustData(int indexFunc, int indexParam, ref Guid guid, out object pVarVal);
41 void GetVarCustData(int index, ref Guid guid, out object pVarVal);
42 void GetImplTypeCustData(int index, ref Guid guid, out object pVarVal);
44 void GetDocumentation2(int memid, out string pbstrHelpString, out int pdwHelpStringContext, out string pbstrHelpStringDll);
45 void GetAllCustData(IntPtr pCustData);
46 void GetAllFuncCustData(int index, IntPtr pCustData);
47 void GetAllParamCustData(int indexFunc, int indexParam, IntPtr pCustData);
48 void GetAllVarCustData(int index, IntPtr pCustData);
49 void GetAllImplTypeCustData(int index, IntPtr pCustData);
50 new void Invoke ([MarshalAs (UnmanagedType.IUnknown)] object pvInstance, int memid, short wFlags, ref DISPPARAMS pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, out int puArgErr);
52 new void ReleaseTypeAttr (IntPtr pTypeAttr);
54 new void ReleaseFuncDesc (IntPtr pFuncDesc);
56 new void ReleaseVarDesc (IntPtr pVarDesc);