功能
用 VirtualFreeEx 在其它進程中釋放申請的虛擬記憶體空間。
語法
BOOL WINAPI VirtualFreeEx(
HANDLE hProcess,
LPVOID lpAddress,
SIZE_T dwSize,
DWORD dwFreeType );
參數
hProcess
目標進程的句柄。該句柄必須擁有 PROCESS_VM_OPERATION 許可權。
lpAddress
指向要釋放的虛擬記憶體空間首地址的指針。
如果 dwFreeType 為 MEM_RELEASE, 則該參數必須為 VirtualAllocEx的返回值.
dwSize
虛擬記憶體空間的位元組數。
如果 dwFreeType 為 MEM_RELEASE,則 dwSize 必須為0 . 按 VirtualAllocEx申請時的大小全部釋放。
如果 dwFreeType 為 MEM_DECOMMIT, 則釋放從 lpAddress 開始的一個或多個位元組 ,即 lpAddress + dwSize。
dwFreeType
釋放類型,取值見下表:
值 | 釋義 |
MEM_DECOMMIT 0x4000 16384D | 這種試 僅標示 記憶體空間不可用,記憶體頁還將存在。 |
MEM_RELEASE 0x8000 32768D | 這種方式 很徹底,完全回收。 |
返回值
成功: 為非 0 值(零)。
失敗: 為 0 (零)。可調用 GetLastError 獲取失敗的訊息。