阅读:933回复:3
请问一个AddDevice例程的问题
请问,AddDevice例程的第二个参数是pdo,即设备的物理设备对象,那么它是如何知道是哪个设备的物理设备对象呢?
|
|
|
沙发#
发布于:2002-11-10 11:06
:)当然是该设备堆栈中的pdo嘛
|
|
|
板凳#
发布于:2002-11-11 08:48
PDO只是一个内存中数据结构,与物理设备的对应是安装时就决定了的。如可以通过VID、DID来定位物理设备等。
|
|
|
地板#
发布于:2002-11-11 10:43
pdo参数指向设备堆栈底部的物理设备对象
PnP管理器为每个设备实例调用该AddDevice函数,调用过程大致如下: 一旦总线驱动程序检查到新硬件存在,PnP管理器就创建一个PDO, 创建完PDO后,PnP管理器参照注册表中的信息查找与这个PDO相关的过滤器和功能驱动程序。 系统安装程序负责添加这些注册表项,而驱动程序包中控制硬件安装的INF文件负责添加其它表项。这些表项定义了过滤器和功能驱动程序在堆栈中的次序。PnP管理器先装入最底层的过滤器驱动程序并调用其AddDevice函数。 |
|
|