Windows 驱动开发基础系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38822657
WDM驱动即是一种即插即用的驱动。
在WDM的结构中,一个设备对象有两部分组成:(1)物理设备对象PDO,(2)功能设备对象FDO。
当电脑上插上某个设备时,PDO会有总线驱动自动的创建。这个时候电脑也会提示安装驱动,这里需要安装的驱动就负责创建FDO并附加到PDO上面去。当一个FDO被附加到一个PDO上面的时候,就可以PDO的子域AttachedDevice就会记录FDO的位置。如下图所示:
同时 FDO和PDO之间也存在着过滤驱动,同时这也构成了WDM型的驱动的分层结构!
在WDM驱动里面也是包括了这几个方面:DriverEntry函数,AddDevice函数,DriverUnload函数以及对IRP_MN_REMOVE_DEVICE IRP。
DriverEntry: