public ER CreateMemoryPoolFixedsize(ID mpfid, ref T_CMPF pk_cmpf, out ID p_mpfid) { int i; MemoryPoolFixedsize Mpf = null; //if (pk_cmpf == null) // return ER.E_PAR; if (mpfid == ID.ID_AUTO) { //if (p_mpfid == 0) // return ER.E_PAR; mpfid.Value = 1; for (i = 0; ; i++) { if (i >= m_MemPoolFxTable.Count) { Mpf = new MemoryPoolFixedsize(mpfid, ref pk_cmpf, this); m_MemPoolFxTable.Add(Mpf); break; } if (mpfid == m_MemPoolFxTable[i].MpfID) { mpfid.Value++; } else { Mpf = new MemoryPoolFixedsize(mpfid, ref pk_cmpf, this); m_MemPoolFxTable.Insert(i, Mpf); break; } } p_mpfid = mpfid; } else { ID tmpid; p_mpfid = ID.NULL; for (i = 0; i < m_MemPoolFxTable.Count; i++) { tmpid = m_MemPoolFxTable[i].MpfID; if (mpfid == tmpid) { return(ER.E_OBJ); } else if (mpfid < tmpid) { break; } } Mpf = new MemoryPoolFixedsize(mpfid, ref pk_cmpf, this); m_MemPoolFxTable.Insert(i, Mpf); } return(ER.E_OK); }
public ER CreateMemoryPoolFixedsize(ID mpfid, ref T_CMPF pk_cmpf, out ID p_mpfid) { int i; MemoryPoolFixedsize Mpf = null; //if (pk_cmpf == null) // return ER.E_PAR; if (mpfid == ID.ID_AUTO) { //if (p_mpfid == 0) // return ER.E_PAR; mpfid.Value = 1; for (i = 0; ; i++) { if (i >= m_MemPoolFxTable.Count) { Mpf = new MemoryPoolFixedsize(mpfid, ref pk_cmpf, this); m_MemPoolFxTable.Add(Mpf); break; } if (mpfid == m_MemPoolFxTable[i].MpfID) { mpfid.Value++; } else { Mpf = new MemoryPoolFixedsize(mpfid, ref pk_cmpf, this); m_MemPoolFxTable.Insert(i, Mpf); break; } } p_mpfid = mpfid; } else { ID tmpid; p_mpfid = ID.NULL; for (i = 0; i < m_MemPoolFxTable.Count; i++) { tmpid = m_MemPoolFxTable[i].MpfID; if (mpfid == tmpid) { return ER.E_OBJ; } else if (mpfid < tmpid) { break; } } Mpf = new MemoryPoolFixedsize(mpfid, ref pk_cmpf, this); m_MemPoolFxTable.Insert(i, Mpf); } return ER.E_OK; }