Windows驱动开发学习笔记
作者:快盘下载 人气:首先;PnP管理器有一个内建的驱动程序;它与一个实际不存在的根总线相对应。根总线概念性地把计算机与所有那些不能用电子方式声明自己存在的设备连接起来;这包括主硬件总线(如PCI总线)。根总线驱动程序从注册表中获取有关计算机的信息。而这些关于计算机本身的注册表信息是由操作系统安装程序初始化的。安装程序通过运行一个精心制作的硬件检测程序以及向用户提出一些适当的问题来获取这些信息。所以;根总线驱动程序有足够的信息为主总线创建PDO。
然后;主总线的功能驱动程序用电子方式枚举自己的硬件。例如;PCI总线提供了一种访问每个插入设备的硬件配置空间的方法;配置空间保存了设备的资源需求和描述信息。当总线驱动程序枚举硬件时;它的动作就像一个普通的功能驱动程序。检测完一个硬件后;它改变角色;变成总线驱动程序并为查到的硬件创建PDO。然后PnP管理器装入该PDO的功能驱动程序。有时;设备的功能驱动程序还要枚举其它硬件;如果是这样;整个过程将递归重复。
DriverEntry函数由内核中的I/O管理器负责调用。
WDM中的AddDevice回调函数由PnP管理器负责调用。
加载全部内容