<<Windows驱动开发技术详解>>
1、使用 第3章的 最简单的 WMD驱动做测试
1.1、之前就有疑问,第3章的驱动能够 动态的卸载,但是 第12章的驱动却不能 动态卸载
ZC:现在,有一些 感触,记录下来先:(第12章的驱动 应该算是 NT式驱动,下面的记录 应该也可以算是 NT式驱动和WDM驱动 的一些 区别感想)
代码中的区别现象:(1)、没有 函数AddDevice(...) (2)、没有 IRP_MJ_PNP的处理
ZC:我是这么理解的:WDM驱动 会在 AddDevice(...)中绑定底层的驱动的设备对象(一般是 PnP管理器),于是 可以将 PNP的处理 发给底层的驱动去做,这样就可以 即插即用了。 而NT驱动一般 没有AddDevice(...) 于是默认没有方便的PNP的处理 于是没有即插即用。 而个人理解:NT驱动 和 WDM驱动 没有 鸿沟,一个 NT驱动 在它添加了 AddDevice(...)+绑定了底层驱动+处理了IRP_MJ_PNP 之后,它也就变成了 一个WDM驱动了
2、
3、
4、
5、
原文地址:https://www.cnblogs.com/DriverSkill/p/10195763.html
时间: 2024-10-12 01:35:04