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

另请参阅

内存管理函数

虚拟内存函数

VirtualLock