理解设备对象。
设备对象的结构体中有3个域(1)DriverObject。这个比较好理解。就是这个设备对象所属的驱动对象。毕竟设备对象是由驱动对象创建的。
(2)NextDevice。指向下一个设备对象。这里的指向:指的是由同一个驱动对象的创建的设备对象。他们之间由NextDevice形成链表。我们可以枚举这些设备。红色的“链表”很重要!!
(3)AttachedDevice。这个也是指向一个设备的。那么他和NextDevice的区别就在于:他是由另外一个驱动创建的设备。也就是附加到本层驱动的另外一个驱动所创建。在内核中。不同驱动创建的设备对象形成堆栈。。相同驱动创建的设备对象形成链表。。
页:
[1]