修改资源要求列表

PnP 管理器确保已加载新连接设备的所有驱动程序后,会将设备的硬件要求列表发送到设备的驱动程序堆栈。

当列表在堆栈中向下移动时,框架调用每个函数和筛选器驱动程序的 EvtDeviceFilterRemoveResourceRequirements 回调函数,并将硬件要求列表作为输入参数传递。 此回调函数可以从总线驱动程序指定的硬件要求列表中删除硬件资源,但函数驱动程序确定设备运行不必要。

例如,PCI 总线驱动程序可能会根据 PCI 规范复制内存空间中的 I/O 空间资源。 如果设备可以在不使用 I/O 空间资源的情况下运行,则设备的功能驱动程序可以从硬件要求列表中删除 I/O 空间资源。

若要从要求列表中删除项,驱动程序可以执行以下操作:

当列表备份驱动程序堆栈时,框架会调用每个函数并筛选驱动程序的 EvtDeviceFilterAddResourceRequirements 回调函数,并将硬件要求列表作为输入参数传递。 此回调函数可以添加函数驱动程序使设备正常运行所需的其他硬件资源。

若要将项添加到硬件要求列表,驱动程序可以执行以下操作: