Example #1
0
        public byte[] ReadBytes(MemoryOffset offset, int count)
        {
            var bytes = new byte[count];

            Marshal.Copy(ToAddress(offset), bytes, 0, count);

            return(bytes);
        }
Example #2
0
 public unsafe void Write <T>(MemoryOffset offset, T value)
     where T : unmanaged
 {
     Unsafe.Write(ToAddress(offset), value);
 }
Example #3
0
 public T ReadStructure <T>(MemoryOffset offset)
     where T : struct
 {
     return(Marshal.PtrToStructure <T>(ToAddress(offset)));
 }
Example #4
0
 public MemoryOffset ReadOffset(MemoryOffset offset)
 {
     return(ToOffset((MemoryAddress)Read <uint>(offset)));
 }
Example #5
0
        public bool IsInRange(MemoryOffset offset)
        {
            var offs = (int)offset;

            return(offs >= 0 && offs < Length);
        }
Example #6
0
 public unsafe T Read <T>(MemoryOffset offset)
     where T : unmanaged
 {
     return(Unsafe.Read <T>(ToAddress(offset)));
 }
Example #7
0
 public MemoryAddress ToAddress(MemoryOffset offset)
 {
     return(Address + offset);
 }
Example #8
0
 public void DestroyStructure <T>(MemoryOffset offset)
     where T : struct
 {
     Marshal.DestroyStructure <T>(ToAddress(offset));
 }
Example #9
0
 public void WriteStructure <T>(MemoryOffset offset, T value)
     where T : struct
 {
     Marshal.StructureToPtr(value, ToAddress(offset), false);
 }
Example #10
0
 public void WriteBytes(MemoryOffset offset, byte[] values)
 {
     Marshal.Copy(values, 0, ToAddress(offset), values.Length);
 }
Example #11
0
 public void WriteOffset(MemoryOffset offset, MemoryOffset value)
 {
     Write(offset, (uint)ToAddress(value));
 }