132 |
|
this.AcceptedPlugin.SetMemorySearchReference(this); |
133 |
|
} |
134 |
|
} |
135 |
+ |
private Guid _SearchGuid; |
136 |
+ |
public Guid SearchGuid |
137 |
+ |
{ |
138 |
+ |
get { return _SearchGuid; } |
139 |
+ |
private set { _SearchGuid = value; } |
140 |
+ |
} |
141 |
|
#endregion |
142 |
|
|
143 |
|
#region IAcceptsMemoryRange |
1141 |
|
{ |
1142 |
|
provider.OpenProvider(); |
1143 |
|
int count = (int)((MemoryRangeSize - MemoryRangeStart) / STEP_SIZE); |
1144 |
< |
SearchResultWriter writer = new SearchResultWriter((int)(count)); |
1144 |
> |
SearchResultWriter writer = new SearchResultWriter((int)(count), SearchGuid); |
1145 |
|
provider.OnBytesRead += new BaseEventHandler<OnBytesReadEventArgs>(search_provider_OnBytesRead); |
1146 |
|
provider.ReadProcessMemoryAtOnce(MemoryRangeStart, (MemoryRangeSize - MemoryRangeStart), writer); |
1147 |
|
provider.CloseProvider(); |
1177 |
|
////second_tmp_Results.c |
1178 |
|
try |
1179 |
|
{ |
1180 |
< |
using (SearchResultReader reader = new SearchResultReader()) |
1180 |
> |
using (SearchResultReader reader = new SearchResultReader(SearchGuid)) |
1181 |
|
{ |
1182 |
|
try |
1183 |
|
{ |
1605 |
|
|
1606 |
|
start = SearchArgs.CompareStartValue; |
1607 |
|
end = SearchArgs.CompareEndValue; |
1608 |
< |
using (SearchResultReader reader = new SearchResultReader()) |
1608 |
> |
using (SearchResultReader reader = new SearchResultReader(SearchGuid)) |
1609 |
|
{ |
1610 |
|
for (int i = 0; i < reader.ResultCount; i += 1) |
1611 |
|
{ |
1682 |
|
{ |
1683 |
|
// fix addresses when memory start is not zero |
1684 |
|
if (MemoryRangeStart > 0 && SearchArgs.IsFirstSearch) { for (int i = 0; i < second_tmp_Results.Count; i++) { second_tmp_Results[i].Address = second_tmp_Results[i].Address + MemoryRangeStart; } } |
1685 |
< |
using (SearchResultWriter writer = new SearchResultWriter(second_tmp_Results.Count)) |
1685 |
> |
using (SearchResultWriter writer = new SearchResultWriter(second_tmp_Results.Count, SearchGuid)) |
1686 |
|
{ |
1687 |
|
for (int i = 0; i < second_tmp_Results.Count; i++) |
1688 |
|
{ |
1734 |
|
|
1735 |
|
resultsprogress.Value = 100; |
1736 |
|
bool unsigned = SearchArgs.IsUnsignedDataType; |
1737 |
< |
using (SearchResultReader reader = new SearchResultReader()) |
1737 |
> |
using (SearchResultReader reader = new SearchResultReader(SearchGuid)) |
1738 |
|
{ |
1739 |
|
logger.Info.WriteLine(string.Format("Found 0x{0:x8} results", reader.ResultCount)); |
1740 |
|
|
1826 |
|
#region Search Button |
1827 |
|
private void btnSearch_Click(object sender, EventArgs e) |
1828 |
|
{ |
1829 |
+ |
if (this.SearchGuid == Guid.Empty) |
1830 |
+ |
this.SearchGuid = Guid.NewGuid(); |
1831 |
|
this.SearchInProgess = true; |
1832 |
|
//btnCancel.Enabled = true; |
1833 |
|
//btnReset.Enabled = false; |
1962 |
|
#endregion |
1963 |
|
private void btnReset_Click(object sender, EventArgs e) |
1964 |
|
{ |
1965 |
+ |
this.SearchGuid = Guid.Empty; |
1966 |
|
this.SearchInProgess = false; |
1967 |
|
//btnSearch.Enabled = true; |
1968 |
|
//btnCancel.Enabled = false; |