Windows:如何从(NDIS)内核驱动程序生成线程?

发布于 2024-12-25 03:43:39 字数 188 浏览 2 评论 0原文

建议使用哪个函数在 NDIS5/6 上下文中生成新线程?寻找一些保证在 IRQL=PASSIVE 下工作的东西(例如,不会无缘无故地出现蓝屏);通过快速检查 ndis.h 内容,什么也没发现。

此外,计划使用新生成的线程来调用 NdisFreeMemory* 系列,从不同线程释放已分配但未使用的内存是否会导致任何问题?

Which function is recommended to spawn a new thread within NDIS5/6 context? Looking for something that is guaranteed to work at IRQL=PASSIVE (e.g. no bsods out of nothing); by a quick examination of ndis.h contents, found nothing.

Also, it is planned to use a newly spawned thread for calling upon NdisFreeMemory* family, will it be causing any problems to free allocated, but unused memory from a different thread?

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

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

发布评论

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

评论(1

失去的东西太少 2025-01-01 03:43:39

线程处理不属于 NDIS 的范围。如果您需要启动一个新线程,请使用标准内核例程(例如PsCreateSystemThread)。请注意,通常计时器和工作项足以满足大多数微型端口的需求。 NDIS 微型端口创建自己的线程是不寻常的,尽管我认为在某些有效的情况下它可能是一个公平的设计。

可以在一个线程上分配内存并在另一个线程上释放内存。

Threading is outside the scope of NDIS. If you need to start a new thread, use the standard kernel routines (like PsCreateSystemThread). Note that usually timers and work items are sufficicent for most miniport needs. It is unusual for an NDIS miniport to create its own thread, although I suppose there are valid cases where it might be a fair design.

It is ok to allocate memory on one thread and free it on another.

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