Windows DDK 示例如何处理页面调出?我在示例中没有看到太多处理它的代码

发布于 2024-12-06 20:48:26 字数 43 浏览 1 评论 0原文

为什么 Windows DDK 示例不处理页面调出?它们是不可分页的吗?

How come the Windows DDK samples do not deal with being paged out? Are they non-pageable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

究竟谁懂我的在乎 2024-12-13 20:48:26

可分页代码用#pragma code_seg("PAGE") 标记。这就是驱动程序不处理寻呼的原因。默认情况下,它们都是不可分页的。

Pageable code is marked with #pragma code_seg("PAGE"). That's why the drivers are not dealing with paging. They are by default all non-pagable.

手长情犹 2024-12-13 20:48:26

不是专门针对 Windows 驱动程序,而是针对一般设备驱动程序:

不要使用大型驱动程序。

不要在内核模式下做那么多工作,当然也不要在高中断优先级下做那么多工作。仅执行这些级别需要的操作,然后将其余工作委托给在最低级别 (0) 运行的代码。

Not speaking specifically of Windows drivers, but only for device drivers in general:

Don't have large drivers.

Don't do that much work in kernel mode and certainly don't do that much work at high interrupt priority levels. Do only what's needed at these levels, then delegate the rest of the work to code that runs at the lowest level (0).

怎会甘心 2024-12-13 20:48:26

分页代码由 #pragma code_seg("PAGExxx") 包装,分页数据由 #pragma data_seg("PAGExxx") 包装。还可以使用#pragma alloc_text 指定分页函数(仅限 c 链接)。从 WDK 8 开始,还可以使用 declspec(allocate()) 对类进行分页。还有一个 API 可以锁定和解锁内存中的页面,从而允许运行时控制。在此处查看更多信息:http://social.msdn.microsoft.com/Forums/en-US/wdk/thread/ba75e766-6a8f-4fe8-9d03-b69be85655d9

Paged code is wrapped by #pragma code_seg("PAGExxx"), paged data by #pragma data_seg("PAGExxx"). It's also possible to specify paged functions (only c-linkage) with #pragma alloc_text. Classes can also be paged by using declspec(allocate()) starting with WDK 8. There is also an API to lock and unlock pages in memory, allowing runtime control. See more here: http://social.msdn.microsoft.com/Forums/en-US/wdk/thread/ba75e766-6a8f-4fe8-9d03-b69be85655d9

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文