Class DisplacedDataSource
- Namespace
- AsmResolver.IO
- Assembly
- AsmResolver.dll
Represents a data source that was moved in memory to a different address.
public class DisplacedDataSource : ISpanDataSource, IDataSource
- Inheritance
-
DisplacedDataSource
- Implements
- Inherited Members
- Extension Methods
Constructors
DisplacedDataSource(IDataSource, long)
Creates a new displace data source.
public DisplacedDataSource(IDataSource dataSource, long displacement)
Parameters
dataSource
IDataSourceThe original data source that was moved.
displacement
longThe number of bytes the data source was shifted by.
Exceptions
- ArgumentNullException
Occurs when
dataSource
isnull
.
Properties
BaseAddress
Gets the first byte address of the data source that is accessible.
public ulong BaseAddress { get; }
Property Value
this[ulong]
Reads a single byte at the provided address.
public byte this[ulong address] { get; }
Parameters
address
ulongThe address to read from.
Property Value
Length
Gets the number of bytes accessible in the data source.
public ulong Length { get; }
Property Value
Methods
IsValidAddress(ulong)
Determines whether the provided address is a valid address in the data source.
public bool IsValidAddress(ulong address)
Parameters
address
ulongThe address to verify.
Returns
- bool
true
if the address is valid,false
otherwise.
ReadBytes(ulong, byte[], int, int)
Reads a block of data from the data source.
public int ReadBytes(ulong address, byte[] buffer, int index, int count)
Parameters
address
ulongThe starting address to read from.
buffer
byte[]The buffer that receives the read bytes.
index
intThe index into the buffer to start writing at.
count
intThe number of bytes to read.
Returns
- int
The number of bytes that were read.
ReadBytes(ulong, Span<byte>)
Reads a block of data from the data source.
public int ReadBytes(ulong address, Span<byte> buffer)
Parameters
address
ulongThe starting address to read from.
buffer
Span<byte>The buffer that receives the read bytes.
Returns
- int
The number of bytes that were read.