/[RomCheater]/trunk/RomCheater/Docking/FloatingMemorySearcher.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/FloatingMemorySearcher.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 538 by william, Wed Jun 5 10:33:38 2013 UTC revision 540 by william, Wed Jun 5 10:36:38 2013 UTC
# Line 1068  namespace RomCheater.Docking Line 1068  namespace RomCheater.Docking
1068                  Debug.WriteLine(ex.ToString());                  Debug.WriteLine(ex.ToString());
1069              }              }
1070          }          }
1071            
         #region old-code: private void search_provider_OnBytesRead_compare_only(OnBytesReadEventArgs e)  
         //private void search_provider_OnBytesRead_compare_only(OnBytesReadEventArgs e)  
         //{  
         //    if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //    SearchDataTypes sdt = SearchArgs.DataType;  
         //    bool unsigned = SearchArgs.IsUnsignedDataType;  
         //    //int Last_Whole_Percent_Done = 0;  
         //    uint CurrentIndex = e.CurrentIndex;  
         //    if (e.UserState != null)  
         //    {  
         //        SearchResultWriter writer = (e.UserState as SearchResultWriter);  
         //        if (writer == null)  
         //            throw new InvalidOperationException("writer cannot be null");  
         //        using (MemoryStream ms = new MemoryStream(e.Data))  
         //        {  
         //            using (BinaryReader br = new BinaryReader(ms))  
         //            {  
         //                while (br.BaseStream.Position < br.BaseStream.Length)  
         //                {  
         //                    try  
         //                    {  
         //                        switch (sdt)  
         //                        {  
         //                            case SearchDataTypes._8bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 8bits - unsigned  
         //                                    var Value = br.ReadByte();  
         //                                    using (_8bit_unsigned_comparer_ comparer = new _8bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        byte value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToByte(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToByte(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<byte>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 8bits - signed  
         //                                    var Value = br.ReadSByte();  
         //                                    using (_8bit_signed_comparer_ comparer = new _8bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        sbyte value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToSByte(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToSByte(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<sbyte>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                            case SearchDataTypes._16bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 16bits - unsigned  
         //                                    var Value = br.ReadUInt16();  
         //                                    using (_16bit_unsigned_comparer_ comparer = new _16bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        ushort value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToUInt16(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToUInt16(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<ushort>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 16bits - signed  
         //                                    var Value = br.ReadInt16();  
         //                                    using (_16bit_signed_comparer_ comparer = new _16bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        short value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToInt16(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToSByte(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<short>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                            case SearchDataTypes._32bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 32bits - unsigned  
         //                                    var Value = br.ReadUInt32();  
         //                                    using (_32bit_unsigned_comparer_ comparer = new _32bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        uint value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToUInt32(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToUInt32(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<uint>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 32bits - signed  
         //                                    var Value = br.ReadInt32();  
         //                                    using (_32bit_signed_comparer_ comparer = new _32bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        int value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToInt32(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToInt32(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<int>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                            case SearchDataTypes._64bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 64bits - unsigned  
         //                                    var Value = br.ReadUInt64();  
         //                                    using (_64bit_unsigned_comparer_ comparer = new _64bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        ulong value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToUInt64(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToUInt64(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<ulong>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 64bits - signed  
         //                                    var Value = br.ReadInt64();  
         //                                    using (_64bit_signed_comparer_ comparer = new _64bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        long value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToInt64(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToInt64(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<long>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                        }  
         //                        if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //                    }  
         //                    catch (EndOfStreamException) { }  
         //                    if (e.ReportProgress)  
         //                    {  
         //                        double double_percent_done = 100.0 * (double)((double)CurrentIndex / (double)e.TotalCount);  
         //                        int int_percent_done = (int)double_percent_done;  
         //                        //if (CurrentIndex % 10 == 0)  
         //                        //{  
         //                        //    if (int_percent_done <= 100)  
         //                        //    {  
         //                        new Action<int, string>(UpdateProgress).Invoke(int_percent_done, string.Format(" -> Reading Index: 0x{0:x8} of 0x{1:x8}", CurrentIndex, e.TotalCount));  
         //                        //    }  
         //                        //    if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //                        //}  
         //                    }  
         //                    //switch (sdt)  
         //                    //{  
         //                    //    case SearchDataTypes._8bits:  
         //                    //        CurrentIndex += sizeof(byte);  
         //                    //        break;  
         //                    //    case SearchDataTypes._16bits:  
         //                    //        CurrentIndex += sizeof(ushort);  
         //                    //        break;  
         //                    //    case SearchDataTypes._32bits:  
         //                    //        CurrentIndex += sizeof(uint);  
         //                    //        break;  
         //                    //    case SearchDataTypes._64bits:  
         //                    //        CurrentIndex += sizeof(ulong);  
         //                    //        break;  
         //                    //}  
         //                }  
         //            }  
         //        }  
         //    }  
         //    if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //}  
         #endregion  
   
         #region old-code: private void search_provider_OnBytesRead(OnBytesReadEventArgs e)  
         //private void search_provider_OnBytesRead(OnBytesReadEventArgs e)  
         //{  
         //    if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //    SearchDataTypes sdt = SearchArgs.DataType;  
         //    bool unsigned = SearchArgs.IsUnsignedDataType;  
         //    int Last_Whole_Percent_Done = 0;  
         //    uint CurrentIndex = e.CurrentIndex;  
         //    if (e.UserState != null)  
         //    {  
         //        SearchResultWriter writer = (e.UserState as SearchResultWriter);  
         //        if (writer == null)  
         //            throw new InvalidOperationException("writer cannot be null");                
         //        using (MemoryStream ms = new MemoryStream(e.Data))  
         //        {  
         //            using (BinaryReader br = new BinaryReader(ms))  
         //            {  
         //                while (br.BaseStream.Position < br.BaseStream.Length)  
         //                {  
         //                    try  
         //                    {  
         //                        //if (e.ReportProgress)  
         //                        //{  
         //                        //    double double_percent_done = 100.0 * (double)((double)CurrentIndex / (double)e.TotalCount);  
         //                        //    int int_percent_done = (int)double_percent_done;  
         //                        //    int align_base = 100;  
         //                        //    int align_power = 1;  
         //                        //    int align = align_base * align_power;  
         //                        //    if (int_percent_done != Last_Whole_Percent_Done && (CurrentIndex % align) == 0)  
         //                        //    {  
         //                        //        string message = string.Format(" -> Reading Address: 0x{0:x8}", (CurrentIndex + MemoryRangeStart));  
         //                        //        UpdateProgress((int)double_percent_done, message);  
         //                        //        //new Action<int, string>(UpdateProgress).Invoke(int_percent_done, message);  
         //                        //        Last_Whole_Percent_Done = int_percent_done;  
         //                        //        if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //                        //    }  
         //                        //}  
   
         //                        switch (sdt)  
         //                        {  
         //                            case SearchDataTypes._8bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 8bits - unsigned  
         //                                    var Value = br.ReadByte();  
         //                                    using (_8bit_unsigned_comparer_ comparer = new _8bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        byte value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToByte(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToByte(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<byte>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion                                              
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 8bits - signed  
         //                                    var Value = br.ReadSByte();  
         //                                    using (_8bit_signed_comparer_ comparer = new _8bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        sbyte value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToSByte(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToSByte(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<sbyte>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion                                                
         //                                } break;  
         //                            case SearchDataTypes._16bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 16bits - unsigned  
         //                                    var Value = br.ReadUInt16();  
         //                                    using (_16bit_unsigned_comparer_ comparer = new _16bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        ushort value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToUInt16(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToUInt16(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<ushort>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 16bits - signed  
         //                                    var Value = br.ReadInt16();  
         //                                    using (_16bit_signed_comparer_ comparer = new _16bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        short value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToInt16(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToSByte(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<short>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                            case SearchDataTypes._32bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 32bits - unsigned  
         //                                    var Value = br.ReadUInt32();  
         //                                    using (_32bit_unsigned_comparer_ comparer = new _32bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        uint value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToUInt32(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToUInt32(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<uint>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion                                              
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 32bits - signed  
         //                                    var Value = br.ReadInt32();  
         //                                    using (_32bit_signed_comparer_ comparer = new _32bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        int value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToInt32(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToInt32(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<int>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                            case SearchDataTypes._64bits:  
         //                                if (unsigned)  
         //                                {  
         //                                    #region 64bits - unsigned  
         //                                    var Value = br.ReadUInt64();  
         //                                    using (_64bit_unsigned_comparer_ comparer = new _64bit_unsigned_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        ulong value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToUInt64(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToUInt64(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<ulong>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion                                              
         //                                }  
         //                                else  
         //                                {  
         //                                    #region 64bits - signed  
         //                                    var Value = br.ReadInt64();  
         //                                    using (_64bit_signed_comparer_ comparer = new _64bit_signed_comparer_(SearchArgs, CurrentIndex))  
         //                                    {  
         //                                        long value = 0;  
         //                                        if (SearchArgs.CompareValueType == CompareValueTypes.OldValue)  
         //                                        {  
         //                                            using (GenericMemoryProvider gmp = new GenericMemoryProvider((IAcceptsProcessAndConfig)this))  
         //                                            {  
         //                                                try  
         //                                                {  
         //                                                    gmp.OpenProvider();  
         //                                                    gmp.ReadMemory(CurrentIndex, out value);  
         //                                                    gmp.CloseProvider();  
         //                                                }  
         //                                                catch (Exception ex)  
         //                                                {  
         //                                                    logger.VerboseError.WriteLine(ex.ToString());  
         //                                                }  
         //                                            }  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        else  
         //                                        {  
         //                                            value = Convert.ToInt64(SearchArgs.CompareStartValue);  
         //                                            comparer.Value = value;  
         //                                        }  
         //                                        if (comparer.Compare(Convert.ToInt64(Value), value))  
         //                                        {  
         //                                            writer.WriteResult<long>(comparer.Address, comparer.Value);  
         //                                        }  
         //                                    }  
         //                                    #endregion  
         //                                } break;  
         //                        }  
         //                        if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //                    }  
         //                    catch (EndOfStreamException) { }  
                           
         //                    uint size = 0;  
         //                    BitTools.SizeOf(sdt, out size);  
         //                    CurrentIndex += size;                            
         //                }  
         //            }  
         //        }  
         //    }  
         //    if (SearchWorkerThread.CancellationPending) { e.Canceled = true; return; }  
         //}  
         #endregion  
   
1072          private void SearchWorkerThread_DoWork(object sender, DoWorkEventArgs e)          private void SearchWorkerThread_DoWork(object sender, DoWorkEventArgs e)
1073          {          {
1074              try              try
# Line 2163  namespace RomCheater.Docking Line 1460  namespace RomCheater.Docking
1460                              }                              }
1461                              #endregion                              #endregion
1462    
   
1463                              if (SearchWorkerThread.CancellationPending)                              if (SearchWorkerThread.CancellationPending)
1464                              {                              {
1465                                  provider_st.Stop();                                  provider_st.Stop();
# Line 2196  namespace RomCheater.Docking Line 1492  namespace RomCheater.Docking
1492                      {                      {
1493                          Guid new_SearchGuid = SearchGuid;                          Guid new_SearchGuid = SearchGuid;
1494                          // need to get the address list                          // need to get the address list
1495                          using (SearchResultReader reader = new SearchResultReader(SearchGuid, false)) // delete the file on dispose                          using (SearchResultReader reader = new SearchResultReader(SearchGuid, true)) // delete the file on dispose
1496                          {                          {
                             #region old-code  
                             //provider.OpenProvider();  
                             ////int count = (int)((MemoryRangeSize - MemoryRangeStart) / STEP_SIZE);  
                             ////SearchResultWriter writer = new SearchResultWriter((int)(count), SearchGuid);  
                             //provider.OnBytesRead += new BaseEventHandler<OnBytesReadEventArgs>(action_onbytesread);  
                             //provider.ReadProcessMemoryAtOnce(MemoryRangeStart, (MemoryRangeSize - MemoryRangeStart), reader);  
                             //if (SearchWorkerThread.CancellationPending)  
                             //{  
                             //    provider_st.Stop();  
                             //    st.Stop();            
                             //    e.Result = true;  
                             //    provider.CloseProvider();  
                             //    return;  
                             //}  
                             //provider.CloseProvider();  
   
                             //byte[] guid = SearchGuid.ToByteArray();  
                             //guid[guid.Length - 1]++; // increment the search guid by 1  
                             //Guid new_SearchGuid = new Guid(guid);  
                             ////const int item_count = 0x100;  
                             //using (SearchResultWriter writer = new SearchResultWriter((int)(reader.ResultCount), new_SearchGuid))  
                             //{  
                             //    var items = reader.GetSearchAddressValueMatches((IAcceptsProcessAndConfig)this, SearchArgs, new Action<int, string>(UpdateProgress));  
                             //    reader.Dispose(); // delete the result file, if allowed  
                             //    foreach (var item in items)  
                             //    {  
                             //        switch (SearchArgs.DataType)  
                             //        {  
                             //            case SearchDataTypes._8bits:  
                             //                if (SearchArgs.IsUnsignedDataType)  
                             //                {  
                             //                    writer.WriteResult<byte>(item.Address, Convert.ToByte(item.Value));  
                             //                }  
                             //                else  
                             //                {  
                             //                    writer.WriteResult<sbyte>(item.Address, Convert.ToSByte(item.Value));  
                             //                }  
                             //                break;  
                             //            case SearchDataTypes._16bits:  
                             //                if (SearchArgs.IsUnsignedDataType)  
                             //                {  
                             //                    writer.WriteResult<ushort>(item.Address, Convert.ToUInt16(item.Value));  
                             //                }  
                             //                else  
                             //                {  
                             //                    writer.WriteResult<short>(item.Address, Convert.ToInt16(item.Value));  
                             //                }  
                             //                break;  
                             //            case SearchDataTypes._32bits:  
                             //                if (SearchArgs.IsUnsignedDataType)  
                             //                {  
                             //                    writer.WriteResult<uint>(item.Address, Convert.ToUInt32(item.Value));  
                             //                }  
                             //                else  
                             //                {  
                             //                    writer.WriteResult<int>(item.Address, Convert.ToInt32(item.Value));  
                             //                }  
                             //                break;  
                             //            case SearchDataTypes._64bits:  
                             //                if (SearchArgs.IsUnsignedDataType)  
                             //                {  
                             //                    writer.WriteResult<ulong>(item.Address, Convert.ToUInt64(item.Value));  
                             //                }  
                             //                else  
                             //                {  
                             //                    writer.WriteResult<long>(item.Address, Convert.ToInt64(item.Value));  
                             //                }  
                             //                break;  
                             //        }  
                             //    }  
                             //}  
                             //SearchGuid = new_SearchGuid;  
                             #endregion                            
   
1497                              new_SearchGuid = GuidTools.IncrementGuid(SearchGuid);                              new_SearchGuid = GuidTools.IncrementGuid(SearchGuid);
1498                              using (SearchResultWriter writer = new SearchResultWriter(0, new_SearchGuid))                              using (SearchResultWriter writer = new SearchResultWriter(0, new_SearchGuid))
1499                              {                              {

Legend:
Removed from v.538  
changed lines
  Added in v.540

  ViewVC Help
Powered by ViewVC 1.1.22