virtualfreeex (kernel32)
Last changed: -123.192.205.50

.
Summary

C# Signature:

[DllImport("kernel32.dll", SetLastError=true, ExactSpelling=true)]
static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress,
   int dwSize, AllocationType dwFreeType);

[DllImport("kernel32.dll", SetLastError=true, ExactSpelling=true)]
public static unsafe extern bool VirtualFreeEx(
   IntPtr hProcess, byte* pAddress,
   int size, AllocationType freeType);

VB Signature:

<DllImport("kernel32.dll")> _
Public Shared Function VirtualFreeEx(ByVal hProcess As IntPtr, _
                      ByVal lpAddress As IntPtr, _
                      ByVal dwSize As Integer, _
                      ByVal dwFreeType As AllocationType) As Boolean
End Function

Boo Signature:

[DllImport("kernel32.dll", SetLastError : true, ExactSpelling : true)]
static def VirtualFreeEx(hProcess as IntPtr, lpAddress as IntPtr, dwSize as int, freeType as AllocationType) as bool:
     pass

User-Defined Types:

[Flags]
public enum AllocationType
{
     Commit = 0x1000,
     Reserve = 0x2000,
     Decommit = 0x4000,
     Release = 0x8000,
     Reset = 0x80000,
     Physical = 0x400000,
     TopDown = 0x100000,
     WriteWatch = 0x200000,
     LargePages = 0x20000000
}

[Flags]
enum AllocationType:
     Commit = 0x1000
     Reserve = 0x2000
     Decommit = 0x4000
     Release = 0x8000
     Reset = 0x80000
     Physical = 0x400000
     TopDown = 0x100000
     WriteWatch = 0x200000
     LargePages = 0x20000000

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Alternative Managed API:

The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a ProcessMemoryChunk class to allocate and access memory of a different process.

Documentation