VirtualFree (kernel32)
Last changed: -


C# Signature:

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

[DllImport("kernel32.dll", SetLastError=true, ExactSpelling=true)]
public static unsafe extern bool VirtualFreeEx(
   IntPtr hProcess, byte* pAddress,
   int size, FreeType 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 FreeType) As Boolean
End Function

Boo Signature:

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

User-Defined Types:

public enum FreeType
     Decommit = 0x4000,
     Release = 0x8000,

<Flags()> _
Public Enum FreeType As UInteger
     DECOMMIT = &H4000
     RELEASE = &H8000
End Enum



Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Alternative Managed API:

The ManagedWindowsApi project ( provides a ProcessMemoryChunk class to allocate and access memory of a different process.