【问题标题】:Windows: how to spawn threads from (NDIS) kernel driver?Windows:如何从(NDIS)内核驱动程序产生线程?
【发布时间】:2012-02-03 15:21:07
【问题描述】:

建议使用哪个函数在 NDIS5/6 上下文中生成新线程?寻找可以保证在 IRQL=PASSIVE 下工作的东西(例如,无中生有);通过快速检查ndis.h 的内容,一无所获。

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

【问题讨论】:

    标签: windows multithreading reentrancy ndis


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-03-10
      • 2017-06-21
      • 2019-02-10
      • 2018-08-03
      • 2013-11-10
      • 2018-11-29
      • 2019-07-14
      • 1970-01-01
      • 2011-10-20
      相关资源
      最近更新 更多