void QueryTagEventNotifty(AW_API_NET.rfTagEvent_t tagEvent) { lock (myLock) { if (tagEvent.tag.id == srchTagID) { tagSrchStruct tagSrchObj = new tagSrchStruct(); tagSrchObj.host = tagEvent.host; tagSrchObj.reader = tagEvent.reader; tagSrchObj.fGen = tagEvent.fGenerator; tagSrchObj.rssi = tagEvent.RSSI; tagSrchList.Add(tagSrchObj); //if rdr exits in the rdrStatusList remove it and replace it otherwise add it. readerStatStruct readerObj = new readerStatStruct(tagEvent.reader); if (utility.GetRdrFromList(tagEvent.reader, ref readerObj, rdrStatusList)) { //make the timer to start processing startSearch = false; srchIndex = 0; counter = 0; readerStatStruct rdrStat = new readerStatStruct(tagEvent.reader); readerObj.Copy(ref rdrStat); rdrStatusList.Remove(readerObj); rdrStat.SetSrchStatus(true); rdrStatusList.Add(rdrStat); Console.WriteLine("QueryTagNotify(TagSearchClass) ProcessSrchList time:" + DateTime.Now.ToString()); ProcessSrchList(); } } //if (tagEvent.tag.id == srchTagID) } //lock }