[DllImport("kernel32.dll", SetLastError=true, ExactSpelling=true)]
static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress,
uint dwSize, AllocationType flAllocationType, MemoryProtection flProtect);
<DllImport("kernel32.dll", SetLastError:=True, ExactSpelling:=True)> _
Private Function VirtualAllocEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, _
ByVal dwSize As UInteger, ByVal flAllocationType As UInteger, _
ByVal flProtect As UInteger) As IntPtr
End Function
[Flags()]
public enum AllocationType:uint
{
COMMIT=0x1000,
RESERVE=0x2000,
RESET=0x80000,
LARGE_PAGES=0x20000000,
PHYSICAL=0x400000,
TOP_DOWN=0x100000,
WRITE_WATCH=0x200000
}
[Flags()]
public enum MemoryProtection:uint
{
EXECUTE=0x10,
EXECUTE_READ=0x20,
EXECUTE_READWRITE=0x40,
EXECUTE_WRITECOPY=0x80,
NOACCESS=0x01,
READONLY=0x02,
READWRITE=0x04,
WRITECOPY=0x08,
GUARD_Modifierflag=0x100,
NOCACHE_Modifierflag = 0x200,
WRITECOMBINE_Modifierflag = 0x400
}
None.
Please add some!
Please add some!
The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a ProcessMemoryChunk class to allocate and access memory of a different process.