求教wdm中的一句话
在wdm中,有一个例子
PIRP Irp = IoBuildSynchronousFsdRequest(...);
ExAcquireFastMutex(...);
NTSTATUS status = IoCallDriver(...);
if (status == STATUS_PENDING)
KeWaitForSingleObject(...); // <== don't do this
ExReleaseFastMutex(...);
对为什么不能这么干有如下说明
The problem with this code is that the KeWaitForSingleObject call will deadlock: when the IRP completes, IoCompleteRequest will schedule an APC in this thread. The APC routine, if it could run, would set the event. But because you’re already at APC_LEVEL, the APC cannot run in order to set the event.
为什么apc不能调度运行从而signal等待的event呢?当前的线程处于apc_level怎么会影响到对应的事件的signal呢?
PIRP Irp = IoBuildSynchronousFsdRequest(...);
ExAcquireFastMutex(...);
NTSTATUS status = IoCallDriver(...);
if (status == STATUS_PENDING)
KeWaitForSingleObject(...); // <== don't do this
ExReleaseFastMutex(...);
对为什么不能这么干有如下说明
The problem with this code is that the KeWaitForSingleObject call will deadlock: when the IRP completes, IoCompleteRequest will schedule an APC in this thread. The APC routine, if it could run, would set the event. But because you’re already at APC_LEVEL, the APC cannot run in order to set the event.
为什么apc不能调度运行从而signal等待的event呢?当前的线程处于apc_level怎么会影响到对应的事件的signal呢?
...全文
相关推荐
WDM与KMDF的区别
标签“WDM”和“KMDF”进一步强调了这两个模型在驱动程序开发中的重要性。WDM适用于需要深入控制硬件特性的场景,例如开发复杂的设备驱动或兼容旧设备。
WDM.rar_hello wdm_pci wdm_wdm
WDM驱动程序允许硬件与操作系统之间进行有效通信,确保设备在系统中的正确运行和管理。
WDM查看器 WDM查看器 WDM查看器 WDM查看器
WDM查看器是一款针对Windows操作系统所设计的驱动程序管理工具,专为WDM驱动程序而优化。它旨在帮助用户更有效地管理和分析系统中的WDM驱动程序,确保硬件设备与系统之间的高效互动。
WDM全光网络中的路由及波长分配
WDM全光网络中的路由及波长分配WDM全光网络中的路由及波长分配是当前网络技术中的热点话题。随着社会信息化程度的不断提高,人们对网络带宽的要求越来越高。光纤以其巨大的带宽容量而成为通信介质的首选。
WDM-PON与WDM/OTN
WDM-PON 支持无线前传的一个直接解决方案是在传统的 PON 中覆盖新的波长,而不与传统的固定接入服务共享带宽。NG-PON2 技术(TWDM 和 PtP WDM,也称为 WDM-PON)都可以用于这种场景。 WDM-PON 是一种接入网技术。它在物理点对多点光纤拓扑的基础上创建基于波长的逻辑点对点架构。WDM-PON 被认为是融合接入网的一种潜在技术,可为无线网络传输来自住宅、企业和前传/中传的数据。WDM-PON 提供了一个简单的库存控制,因为可以使用无色的可插拔收发器,并且这种方法使用星形网


驱动开发/核心开发
