示例#1
0
        public int Next(IMDType pType, out ulong pInterfacePtr)
        {
            if (m_curr < m_data.Count)
            {
                pType         = new MDType(m_data[m_curr].Type);
                pInterfacePtr = m_data[m_curr].InterfacePointer;
                m_curr++;
                return(HRESULTS.S_OK);
            }

            pType         = null;
            pInterfacePtr = 0;

            if (m_curr == m_data.Count)
            {
                m_curr++;
                return(HRESULTS.S_FALSE);
            }

            return(HRESULTS.E_FAIL);
        }
示例#2
0
 public void GetObjectType(ulong addr, out IMDType ppType)
 {
     ppType = new MDType(m_heap.GetObjectType(addr));
 }
示例#3
0
 void IMDException.GetGCHeapType(out IMDType ppType)
 {
     ppType = new MDType(m_ex.Type);
 }
示例#4
0
 public void GetType(out IMDType ppType)
 {
     ppType = MDType.Construct(m_field.Type);
 }
示例#5
0
 public void GetObjectType(ulong addr, out IMDType ppType)
 {
     ppType = new MDType(m_heap.GetObjectType(addr));
 }
示例#6
0
 void IMDException.GetGCHeapType(out IMDType ppType)
 {
     ppType = new MDType(m_ex.Type);
 }
示例#7
0
        public int Next(IMDType pType, out ulong pInterfacePtr)
        {
            if (m_curr < m_data.Count)
            {
                pType = new MDType(m_data[m_curr].Type);
                pInterfacePtr = m_data[m_curr].InterfacePointer;
                m_curr++;
                return HRESULTS.S_OK;
            }

            pType = null;
            pInterfacePtr = 0;

            if (m_curr == m_data.Count)
            {
                m_curr++;
                return HRESULTS.S_FALSE;
            }

            return HRESULTS.E_FAIL;
        }