WDF框架都是创建对象,方法。不知道比如我在电脑里面插了一个PICE硬件,这个驱动怎么和这个硬件匹配的,并且这个硬件被这个驱动管理。可以具体的回答下么。
status = WdfDeviceCreate(&device_init,&object_attribs,&control_device);
比如我创建一个设备,他和我电脑上的硬件外设怎么关联的
你插上硬件,那个设备就会被系统找到,只不过是个未识别的设备,你根据PCIE设备编号对应
Windows驱动程序框架 (WDF) 驱动程序由基于框架的驱动程序使用的 Windows Driver Framework 对象定义的 DriverEntry 例程和一组事件回调函数组成。 回调函数调用框架导出的对象方法。 所有驱动程序都必须调用 WdfDeviceCreate ,为驱动程序支持的每个设备创建框架设备对象。 设备可以是插入计算机的硬件,也可以是仅软件设备。 框架设备对象支持 PnP 和电源管理操作,驱动程序可以注册事件回调函数,当设备进入或离开其工作状态时通知驱动程序。
PnP 管理器将设备节点与每个新创建的 PDO 关联,并查询注册表以确定哪些驱动程序需要成为该节点设备堆栈的一部分。 设备堆栈必须有且只有一个“函数驱动程序” ,并且可以选择具有一个或多个“筛选器驱动程序” 。 函数驱动程序为设备堆栈的主要驱动程序且负责处理读、写以及设备控制请求。 筛选器驱动程序在处理读、写以及设备控制请求中扮演辅助角色。 加载每个函数驱动程序和筛选器驱动程序时,它都会创建一个设备对象并将其自身附加到设备堆栈。 由函数驱动程序创建的设备对象称为“函数设备对象” (FDO),由筛选器驱动程序创建的设备对象称为“筛选器设备对象” (筛选器 DO)。