WDM 设备对象的类型

有三种类型的 WDM 设备对象:

  1. 物理设备对象 (PDO) – 表示总线上的设备到 总线驱动程序

  2. 功能设备对象 (FDO) – 表示 功能驱动程序的设备。

  3. 筛选设备对象 (筛选器 DO) – 表示 筛选器驱动程序的设备。

这三种类型的设备对象都是 DEVICE_OBJECT类型,但使用方式不同,并且可以具有不同的设备扩展。

驱动程序通过将 ioCreateDevice () 创建设备对象并将其附加到 IoAttachDeviceToDeviceStack (设备堆栈,将自身添加到处理设备 I/O 的驱动程序堆栈) 。 IoAttachDeviceToDeviceStack 确定设备堆栈的当前顶部,并将新设备对象附加到设备堆栈的顶部。