检查VirtualFreeEx是否已完成/执行

时间:2013-02-04 02:51:40

标签: windows delphi winapi memory-management

我在远程进程上使用VirtualAllocEx来保留这样的空间:

VirtualAllocEX (RemoteProcessHandle, nil, SizeInBytes, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);

然后我用WriteProcessMemory

“填充”/写入分配的地址空间

然后我正确使用

VirtualFreeEx (RemoteProcessHandle, Address, 0, MEM_RELEASE);

释放分配的空间。

是否可以在调用 VirtualAllocEx之后检查VirtualFreeEx 的地址,以检查VirtualFreeEx是否成功?

1 个答案:

答案 0 :(得分:4)

只要将地址返回给系统,该地址的任何将来引用都将无效。成功拨打VirtualFreeEx电话后,您不得再次引用Address。将地址返回系统后,系统将拥有该地址。该地址将来有效的唯一方法是通过另一次调用VirtualAllocEx