Windows驱动
+ -

PDO设备的动态创建与卸载IRP_MN_SURPRISE_REMOVAL和IRP_MN_REMOVE_DEVICE

2021-11-16 127 0
您好,该文仅对付费用户可见,请开通VIP会员

0 篇笔记 写笔记

PDO设备的动态创建与卸载IRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE
总线驱动创建的PDO在卸载时,因卸载方式不同而不同如果是直接卸载总线,会只调用IRP_MN_REMOVE_DEVICE而如果是动态创建与卸载,在卸载的时候调用IoInvalidateDeviceRelations会导致IRP_MN_SURPRISE_REMOVAL的调用,然后调用IRP_MN_R......
IRP_MN_REMOVE_DEVICEIRP_MN_SURPRISE_REMOVAL
一个PnP设备被删除时有两个事件会发生,一个是IRP_MN_SURPRISE_REMOVAL,另一个是IRP_MN_REMOVE_DEVICE。看名字就知道这两个事件都是告诉程序员设备已经不在了让他赶紧做点善后工作。我知道你的第一反应时什么:为什么要有两个事件呢,清理资源难道不是清理一次就够了吗?这......
IO_REMOVE_LOCK使用方法小结
IO_REMOVE_LOCK(删除锁)的具体结构没有公开,WDK的文档中中查不到IO_REMOVE_LOCK。最开始看到IO_REMOVE_LOCK是在WDK的例子event中。下面是参考网上的一些资料之后的一点总结,错误的地方请指正。新增内容:WDK8.1 中是可以看到这个结构的,在wdm.h中。......
驱动的卸载流程IRP_MN_REMOVE_DEVICE与其余IRP竞争
USB通用总线驱动程序源代码USBC_Dispatch函数中有这一段代码: if (!((majorFunction == IRP_MJ_PNP) && (minorFunction == IRP_MN_REMOVE_DEVICE))) { Incre......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!