コード例 #1
0
        public int GetMethodProps(uint mb, IntPtr pClass, IntPtr szMethod, uint cchMethod, IntPtr pchMethod, IntPtr pdwAttr, IntPtr ppvSigBlob, IntPtr pcbSigBlob, IntPtr pulCodeRVA, IntPtr pdwImplFlags)
        {
            uint tk = TinyCLR_TypeSystem.SymbollessSupport.TinyCLRTokenFromMethodDefToken(mb);

            uint md = TinyCLR_TypeSystem.ClassMemberIndexFromTinyCLRToken(tk, m_assembly);

            WireProtocol.Commands.Debugging_Resolve_Method.Result resolvedMethod = m_engine.ResolveMethod(md);

            string name    = null;
            uint   tkClass = 0;

            if (resolvedMethod != null)
            {
                name = resolvedMethod.m_name;
                uint tkType = TinyCLR_TypeSystem.TinyCLRTokenFromTypeIndex(resolvedMethod.m_td);
                tkClass = TinyCLR_TypeSystem.SymbollessSupport.TypeDefTokenFromTinyCLRToken(tkType);
            }

            Utility.MarshalString(name, cchMethod, pchMethod, szMethod);
            Utility.MarshalInt(pClass, (int)tkClass);
            Utility.MarshalInt(pdwAttr, (int)CorMethodAttr.mdStatic);
            Utility.MarshalInt(pulCodeRVA, 0);
            Utility.MarshalInt(pdwImplFlags, 0);
            Utility.MarshalInt(pcbSigBlob, m_cbFakeSig);
            Utility.MarshalInt(ppvSigBlob, m_fakeSig.ToInt32());

            return(Utility.COM_HResults.S_OK);
        }
コード例 #2
0
        public int GetTypeDefProps(uint td, IntPtr szTypeDef, uint cchTypeDef, IntPtr pchTypeDef, IntPtr pdwTypeDefFlags, IntPtr ptkExtends)
        {
            uint   tk    = TinyCLR_TypeSystem.SymbollessSupport.TinyCLRTokenFromTypeDefToken(td);
            uint   index = TinyCLR_TypeSystem.ClassMemberIndexFromTinyCLRToken(td, m_assembly);
            string name  = m_engine.GetTypeName(index);

            Utility.MarshalString(name, cchTypeDef, pchTypeDef, szTypeDef);
            Utility.MarshalInt(pchTypeDef, 0);
            Utility.MarshalInt(pdwTypeDefFlags, 0);
            Utility.MarshalInt(ptkExtends, 0);
            return(Utility.COM_HResults.S_OK);
        }