VirtualAlloc (kernel32)
Last changed: -74.62.163.26

.
Summary

C# Signature:

[DllImport("kernel32.dll", SetLastError=true)]
static extern IntPtr VirtualAlloc(IntPtr lpAddress, UIntPtr dwSize,
   AllocationType flAllocationType, MemoryProtection flProtect);

User-Defined Types:

  [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.

Notes:

None.

Tips & Tricks:

Marshal.AllocHGlobal(size) is a managed alternative api. But you must use VirtualAlloc directly, is you need special accessrights or protection.

Sample Code:

Please add some!

See Also:

VirtualAllocEx

VirtualFree

Alternative Managed API:

Do you know one? Please contribute it!

Documentation