/[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 471 by william, Mon Jun 3 07:13:44 2013 UTC revision 472 by william, Mon Jun 3 07:39:39 2013 UTC
# Line 1457  namespace RomCheater.Docking Line 1457  namespace RomCheater.Docking
1457                      {                      {
1458                          // need to get the address list                          // need to get the address list
1459                          using (SearchResultReader reader = new SearchResultReader(SearchGuid))                          using (SearchResultReader reader = new SearchResultReader(SearchGuid))
1460                          {                                                  {
1461                              byte[] guid = SearchGuid.ToByteArray();                              byte[] guid = SearchGuid.ToByteArray();
1462                              guid[guid.Length-1]++; // increment the search guid by 1                              guid[guid.Length - 1]++; // increment the search guid by 1
1463                              Guid new_SearchGuid = new Guid(guid);                                                        Guid new_SearchGuid = new Guid(guid);
1464                              //provider.OnBytesRead += new BaseEventHandler<OnBytesReadEventArgs>(search_provider_OnBytesRead);                              //provider.OnBytesRead += new BaseEventHandler<OnBytesReadEventArgs>(search_provider_OnBytesRead);
1465                              int count = 0;                              int count = 0;
1466                              //int Last_Whole_Percent_Done = 0;                              //int Last_Whole_Percent_Done = 0;
1467                              var results = reader.GetResults(SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress));                              //var results = reader.GetResults(SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress));
1468    
1469                              using (SearchResultWriter writer = new SearchResultWriter((int)(results.Count()), new_SearchGuid))                              //reader.WriteUpdatedEntries(new_SearchGuid, SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress));
1470    
1471                                using (SearchResultWriter writer = new SearchResultWriter((int)(reader.ResultCount), new_SearchGuid))
1472                              {                              {
1473                                  foreach (var item in results)                                  for (int i = 0; i < reader.ResultCount; i++)
1474                                  {                                  {
1475                                       provider.OpenProvider();                                      var item = reader.GetResultAtIndex(i, SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress));
1476                                        provider.OpenProvider();
1477                                      int bytesRead = 0;                                      int bytesRead = 0;
1478                                      byte[] data = new byte[STEP_SIZE];                                      byte[] data = new byte[STEP_SIZE];
1479                                      provider.ReadProcessMemory(item.Address, STEP_SIZE, out bytesRead, out data);                                      provider.ReadProcessMemory(item.Address, STEP_SIZE, out bytesRead, out data);
# Line 1478  namespace RomCheater.Docking Line 1481  namespace RomCheater.Docking
1481                                      OnBytesReadEventArgs t_args = new OnBytesReadEventArgs(this, writer, data, item.Address, (uint)reader.ResultCount);                                      OnBytesReadEventArgs t_args = new OnBytesReadEventArgs(this, writer, data, item.Address, (uint)reader.ResultCount);
1482                                      t.Invoke(t_args);                                      t.Invoke(t_args);
1483                                      t = null;                                      t = null;
1484                                      t_args=null;                                      t_args = null;
1485                                      double percent_done = 100.0 * ((double)count / (double)reader.ResultCount);                                      double percent_done = 100.0 * ((double)count / (double)reader.ResultCount);
1486                                      new Action<int, string>(UpdateProgress).Invoke((int)percent_done, string.Format(" -> Reading Address: 0x{0:x8}", item.Address));                                      new Action<int, string>(UpdateProgress).Invoke((int)percent_done, string.Format(" -> Reading Address: 0x{0:x8}", item.Address));
1487                                      count++;                                      count++;
1488                                      data = null;                                      data = null;
1489                                      provider.CloseProvider();                                      provider.CloseProvider();
1490                                  }                                  }
1491                              }                                                          }
1492                              SearchGuid = new_SearchGuid;                              SearchGuid = new_SearchGuid;
1493                          }                          }
1494                      }                      }

Legend:
Removed from v.471  
changed lines
  Added in v.472

  ViewVC Help
Powered by ViewVC 1.1.22