VirtualUnlock 函数 (memoryapi.h)
解锁进程的虚拟地址空间中的指定页范围,使系统能够在必要时将页面交换到分页文件。
语法
BOOL VirtualUnlock(
[in] LPVOID lpAddress,
[in] SIZE_T dwSize
);
parameters
[in] lpAddress
指向要解锁的页区域的基址的指针。
[in] dwSize
要解锁的区域的大小(以字节为单位)。 受影响页面的区域包括从 lpAddress 参数到 (lpAddress+dwSize)
的范围中包含一个或多个字节的所有页面。 这意味着跨页边界的 2 字节范围会导致两个页面都解锁。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
要使函数成功,指定的范围不需要与传递给之前对 VirtualLock 函数的调用的范围匹配,但必须锁定该范围中的所有页面。 如果未锁定指定范围中的任何页, VirtualUnlock 将从工作集中删除此类页面,将最后一个错误设置为 ERROR_NOT_LOCKED,并返回 FALSE。
对未锁定的内存范围调用 VirtualUnlock 会从进程的工作集中释放页面。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | memoryapi.h (包括 Windows.h、Memoryapi.h) |
Library | onecore.lib |
DLL | Kernel32.dll |