/// <summary>
 /// Allocate memory and return a RemoteAllocatedMemory object
 /// </summary>
 /// <param name="size"></param>
 /// <returns></returns>
 public RemoteAllocatedMemory AllocateMemory(int size)
 {
     return(new RemoteAllocatedMemory(this, Syscall.AllocateVirtualMemory(ProcessHandle, size, Enumerations.AllocationType.Commit | Enumerations.AllocationType.Reserve, Enumerations.MemoryProtectionFlags.ExecuteReadWrite), size));
 }