public ER CreateMemoryPool(ID mplid, ref T_CMPL pk_cmpl, out ID p_mplid) { int i; MemoryPool Mpl = null; //if (pk_cmpl == null) // return ER.E_PAR; if (mplid == ID.ID_AUTO) { //if (p_mplid == 0) // return ER.E_PAR; mplid.Value = 1; for (i = 0; ; i++) { if (i >= m_MemPoolTable.Count) { Mpl = new MemoryPool(mplid, ref pk_cmpl, this); m_MemPoolTable.Add(Mpl); break; } if (mplid == m_MemPoolTable[i].MplID) { mplid.Value++; } else { Mpl = new MemoryPool(mplid, ref pk_cmpl, this); m_MemPoolTable.Insert(i, Mpl); break; } } p_mplid = mplid; } else { ID tmpid; p_mplid = ID.NULL; for (i = 0; i < m_MemPoolTable.Count; i++) { tmpid = m_MemPoolTable[i].MplID; if (mplid == tmpid) { return ER.E_OBJ; } else if (mplid < tmpid) { break; } } Mpl = new MemoryPool(mplid, ref pk_cmpl, this); m_MemPoolTable.Insert(i, Mpl); } return ER.E_OK; }
internal void EnumMemoryBlock(MemoryPool mpl) { mpl.EnumMemoryBlock(this, EnumBlockCallBack); }