windows - 检查 VirtualFreeEx 是否已经完成/执行

标签 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 的地址 after VirtualFreeEx 被调用以检查 VirtualFreeEx成功了吗?

最佳答案

一旦您将地址返回给系统,以后对该地址的任何引用都是无效的。一旦成功调用了 VirtualFreeEx,就不能再引用 Address。一旦您将地址返回给系统,系统就拥有了它。该地址在未来变得有效的唯一方法是通过再次调用 VirtualAllocEx

关于windows - 检查 VirtualFreeEx 是否已经完成/执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679777/

相关文章:

c - 在端口扫描器中使用非阻塞套接字

c# - GetHostAddresses 不同的错误代码

python - 如何告诉程序每天在准确的时间做某事?

c++ - 在没有 IDE 的情况下用 C++ 手工编写 Windows GUI

delphi - 添加弹出任务栏窗口的功能

windows - 带复选框的 Delphi TreeView : sometimes the checkboxes are invisible

windows - Delphi - 托盘图标中的文本

windows - win32自定义内存管理有什么限制?

c++ - 如何避免临界区和 SendMessage 之间的这种死锁?

php - 使用应用程序文件安装 EasyPHP 和 MySQL 数据