private Guid AddElement ( string Marker, DebuggerPrimitive.ActionType Queuetype, MemoryType Memorytype, int Address, byte[] Recording_Buffe, int Count, bool CycleElement, int Period, ProceedingCompleetedDelegate Callback, ProceedingProgressChangedDelegate PartCallback) { Guid m_ret = Guid.NewGuid(); Trace.WriteLine("Добавление запроса в очередь :" + m_ret.ToString(), "DebuggerEngine"); DebuggerPrimitive.QueueElement m_newQuery = new DebuggerPrimitive.QueueElement(); if (Count > BufferSize) { //Добавляем часть для чтения частями m_newQuery.isReadLongBuffer = true; m_newQuery.ReadLongBuffer = new DebuggerPrimitive.ReadLongData(Count); m_newQuery.iAddress = Address; m_newQuery.PartCallBack = PartCallback; } else { m_newQuery.isReadLongBuffer = false; m_newQuery.ReadLongBuffer = null; } m_newQuery.Marker = Marker; m_newQuery.Period = Period; m_newQuery.ID = m_ret; m_newQuery.Address = Address; m_newQuery.Callback = Callback; m_newQuery.Count = Count; m_newQuery.CycleElement = CycleElement; m_newQuery.Memorytype = Memorytype; m_newQuery.Queuetype = Queuetype; m_newQuery.Recording_Buffer = Recording_Buffe; //Блокируем список и добавляем элемент lock (_AddElementInQueue) { _AddElementInQueue.Add(m_newQuery); } return(m_ret); }
/// <summary> /// Добавление элемента в очередь /// </summary> /// <param name="Queuetype">Тип запроса (чтение/запись)</param> /// <param name="Memorytype">Тип памяти</param> /// <param name="Address">Начальный адрес</param> /// <param name="Count">Количество байт для чтения</param> /// <param name="Period">Период опроса</param> /// <param name="CycleElement">Флаг цикличности</param> /// <param name="Recording_Buffe">Записываемых буфер</param> /// <param name="Callback">Функция обратного вызова</param> /// <returns>Уникальный номер в очереди</returns> public Guid AddElementInQueue ( DebuggerPrimitive.ActionType Queuetype, MemoryType Memorytype, int Address, byte[] Recording_Buffe, int Count, bool CycleElement, int Period, ProceedingCompleetedDelegate Callback ) { Guid m_ret = AddElement(null, Queuetype, Memorytype, Address, Recording_Buffe, Count, CycleElement, Period, Callback, null); return(m_ret); }