1045 |
|
switch (sdt) |
1046 |
|
{ |
1047 |
|
case SearchDataTypes._8bits: |
1048 |
< |
if (unsigned) { writer.WriteResult<Byte>((uint)br.BaseStream.Position, br.ReadByte()); } |
1049 |
< |
else { writer.WriteResult<SByte>((uint)br.BaseStream.Position, br.ReadSByte()); } break; |
1048 |
> |
if (unsigned) { writer.WriteResult<Byte>((uint)CurrentIndex, br.ReadByte()); } |
1049 |
> |
else { writer.WriteResult<SByte>((uint)CurrentIndex, br.ReadSByte()); } break; |
1050 |
|
case SearchDataTypes._16bits: |
1051 |
< |
if (unsigned) { writer.WriteResult<UInt16>((uint)br.BaseStream.Position, br.ReadUInt16()); } |
1052 |
< |
else { writer.WriteResult<Int16>((uint)br.BaseStream.Position, br.ReadInt16()); } break; |
1051 |
> |
if (unsigned) { writer.WriteResult<UInt16>((uint)CurrentIndex, br.ReadUInt16()); } |
1052 |
> |
else { writer.WriteResult<Int16>((uint)CurrentIndex, br.ReadInt16()); } break; |
1053 |
|
case SearchDataTypes._32bits: |
1054 |
< |
if (unsigned) { writer.WriteResult<UInt32>((uint)br.BaseStream.Position, br.ReadUInt32()); } |
1055 |
< |
else { writer.WriteResult<Int32>((uint)br.BaseStream.Position, br.ReadInt32()); } break; |
1054 |
> |
if (unsigned) { writer.WriteResult<UInt32>((uint)CurrentIndex, br.ReadUInt32()); } |
1055 |
> |
else { writer.WriteResult<Int32>((uint)CurrentIndex, br.ReadInt32()); } break; |
1056 |
|
case SearchDataTypes._64bits: |
1057 |
< |
if (unsigned) { writer.WriteResult<UInt64>((uint)br.BaseStream.Position, br.ReadUInt64()); } |
1058 |
< |
else { writer.WriteResult<Int64>((uint)br.BaseStream.Position, br.ReadInt64()); } break; |
1057 |
> |
if (unsigned) { writer.WriteResult<UInt64>((uint)CurrentIndex, br.ReadUInt64()); } |
1058 |
> |
else { writer.WriteResult<Int64>((uint)CurrentIndex, br.ReadInt64()); } break; |
1059 |
|
} |
1060 |
|
} |
1061 |
|
catch (EndOfStreamException) { } |
1070 |
|
Last_Whole_Percent_Done = int_percent_done; |
1071 |
|
} |
1072 |
|
} |
1073 |
< |
CurrentIndex++; |
1073 |
> |
switch (sdt) |
1074 |
> |
{ |
1075 |
> |
case SearchDataTypes._8bits: |
1076 |
> |
CurrentIndex += sizeof(byte); |
1077 |
> |
break; |
1078 |
> |
case SearchDataTypes._16bits: |
1079 |
> |
CurrentIndex += sizeof(ushort); |
1080 |
> |
break; |
1081 |
> |
case SearchDataTypes._32bits: |
1082 |
> |
CurrentIndex += sizeof(uint); |
1083 |
> |
break; |
1084 |
> |
case SearchDataTypes._64bits: |
1085 |
> |
CurrentIndex += sizeof(ulong); |
1086 |
> |
break; |
1087 |
> |
} |
1088 |
|
} |
1089 |
|
|
1090 |
|
} |
1717 |
|
bool unsigned = SearchArgs.IsUnsignedDataType; |
1718 |
|
using (SearchResultReader reader = new SearchResultReader()) |
1719 |
|
{ |
1706 |
– |
|
1707 |
– |
object result_value = 0; |
1708 |
– |
uint address = 0; |
1709 |
– |
switch (SearchArgs.DataType) |
1710 |
– |
{ |
1711 |
– |
case SearchDataTypes._8bits: if (unsigned) |
1712 |
– |
{ |
1713 |
– |
using (ResultType<byte> result = reader.GetNextResult<byte>()) |
1714 |
– |
{ |
1715 |
– |
address = result.Address; |
1716 |
– |
result_value = result.Value; |
1717 |
– |
} |
1718 |
– |
} |
1719 |
– |
else |
1720 |
– |
{ |
1721 |
– |
using (ResultType<sbyte> result = reader.GetNextResult<sbyte>()) |
1722 |
– |
{ |
1723 |
– |
address = result.Address; |
1724 |
– |
result_value = result.Value; |
1725 |
– |
} |
1726 |
– |
} break; |
1727 |
– |
case SearchDataTypes._16bits: if (unsigned) |
1728 |
– |
{ |
1729 |
– |
using (ResultType<ushort> result = reader.GetNextResult<ushort>()) |
1730 |
– |
{ |
1731 |
– |
address = result.Address; |
1732 |
– |
result_value = result.Value; |
1733 |
– |
} |
1734 |
– |
} |
1735 |
– |
else |
1736 |
– |
{ |
1737 |
– |
using (ResultType<short> result = reader.GetNextResult<short>()) |
1738 |
– |
{ |
1739 |
– |
address = result.Address; |
1740 |
– |
result_value = result.Value; |
1741 |
– |
} |
1742 |
– |
} break; |
1743 |
– |
case SearchDataTypes._32bits: if (unsigned) |
1744 |
– |
{ |
1745 |
– |
using (ResultType<uint> result = reader.GetNextResult<uint>()) |
1746 |
– |
{ |
1747 |
– |
address = result.Address; |
1748 |
– |
result_value = result.Value; |
1749 |
– |
} |
1750 |
– |
} |
1751 |
– |
else |
1752 |
– |
{ |
1753 |
– |
using (ResultType<int> result = reader.GetNextResult<int>()) |
1754 |
– |
{ |
1755 |
– |
address = result.Address; |
1756 |
– |
result_value = result.Value; |
1757 |
– |
} |
1758 |
– |
} break; |
1759 |
– |
case SearchDataTypes._64bits: if (unsigned) |
1760 |
– |
{ |
1761 |
– |
using (ResultType<ulong> result = reader.GetNextResult<ulong>()) |
1762 |
– |
{ |
1763 |
– |
address = result.Address; |
1764 |
– |
result_value = result.Value; |
1765 |
– |
} |
1766 |
– |
} |
1767 |
– |
else |
1768 |
– |
{ |
1769 |
– |
using (ResultType<long> result = reader.GetNextResult<long>()) |
1770 |
– |
{ |
1771 |
– |
address = result.Address; |
1772 |
– |
result_value = result.Value; |
1773 |
– |
} |
1774 |
– |
} break; |
1775 |
– |
} |
1776 |
– |
|
1777 |
– |
|
1778 |
– |
|
1779 |
– |
logger.Debug.WriteLine(string.Format("Results Count -> 0x{0:x8}", reader.ResultCount)); |
1780 |
– |
|
1781 |
– |
|
1782 |
– |
if (reader.ResultCount == 1) // debug message for 1 result using 32bit unsigned |
1783 |
– |
logger.Debug.WriteLine(string.Format("Debug: Found 1 result -> Address: 0x{0:x8} Value: 0x{1:x16}", address, result_value)); |
1784 |
– |
|
1720 |
|
logger.Info.WriteLine(string.Format("Found 0x{0:x8} results", reader.ResultCount)); |
1721 |
|
|
1722 |
|
if (reader.ResultCount <= MIN_NUMBER_OF_RESULTS_BEFORE_DISPLAY) |
1732 |
|
{ |
1733 |
|
|
1734 |
|
case SearchDataTypes._8bits: |
1735 |
< |
if (SearchArgs.IsUnsignedDataType) { ResultType<byte> result = reader.GetNextResult<byte>(); item = new ResultItem(result.Address, false, result.Value); } |
1735 |
> |
if (SearchArgs.IsUnsignedDataType) { ResultType<byte> result = new ResultType<byte>(); item = new ResultItem(result.Address, false, result.Value); } |
1736 |
|
else { ResultType<sbyte> result = reader.GetNextResult<sbyte>(); item = new ResultItem(result.Address, false, result.Value); } |
1737 |
|
break; |
1738 |
|
case SearchDataTypes._16bits: |