【发布时间】:2012-02-03 15:21:07
【问题描述】:
建议使用哪个函数在 NDIS5/6 上下文中生成新线程?寻找可以保证在 IRQL=PASSIVE 下工作的东西(例如,无中生有);通过快速检查ndis.h 的内容,一无所获。
另外,计划使用一个新生成的线程来调用NdisFreeMemory* 系列,这是否会导致从其他线程释放已分配但未使用的内存的任何问题?
【问题讨论】:
标签: windows multithreading reentrancy ndis
建议使用哪个函数在 NDIS5/6 上下文中生成新线程?寻找可以保证在 IRQL=PASSIVE 下工作的东西(例如,无中生有);通过快速检查ndis.h 的内容,一无所获。
另外,计划使用一个新生成的线程来调用NdisFreeMemory* 系列,这是否会导致从其他线程释放已分配但未使用的内存的任何问题?
【问题讨论】:
标签: windows multithreading reentrancy ndis
线程不在 NDIS 的范围内。如果您需要启动一个新线程,请使用标准内核例程(如PsCreateSystemThread)。请注意,通常计时器和工作项足以满足大多数微型端口的需求。 NDIS 微型端口创建自己的线程是不寻常的,尽管我认为在某些情况下它可能是一个公平的设计。
可以在一个线程上分配内存并在另一个线程上释放它。
【讨论】: