如何使用WinAPI锁定内存中的页面?

时间:2009-12-17 00:36:42

标签: c windows winapi real-time

我需要阻止应用程序的内存页面在Windows上换出RAM。是否有一个等同于POSIX mlockall()的WinAPI函数来实现它?

3 个答案:

答案 0 :(得分:9)

是的,VirtualLock()。您可以锁定的页数有限制,您无法占用内存。详细信息位于MSDN article.

答案 1 :(得分:2)

我不得不问,为什么你需要这样做?如果每个应用程序都认为它的页面非常重要,以至于它们不应该被分页,那将是对内存的巨大浪费。

如果页面正在使用中,它们将不会发送到页面文件,如果它们没有被使用,为什么要保留它们?信任Mm,它是由a very smart guy编写的:)

答案 2 :(得分:0)

您好,您可以在内存中设置锁定页面的Windows选项。通常,此设置主要由SQL Server使用,但也适用于其他应用程序。在msdn

上查看此网站

为您的应用程序启用寻址窗口扩展(AWE)。请参阅msdn

上的此链接