EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS回调函数 (wdffdo.h)

[仅适用于 KMDF]

驱动程序的 EvtDeviceFilterAddResourceRequirements 事件回调函数可以在系统将资源分配给设备之前将资源添加到一组硬件资源要求。

驱动程序的 EvtDeviceFilterRemoveResourceRequirements 事件回调函数可以在系统将资源分配给设备之前从一组硬件资源要求中删除资源。

语法

EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtWdfDeviceFilterResourceRequirements;

NTSTATUS EvtWdfDeviceFilterResourceRequirements(
  [in] WDFDEVICE Device,
  [in] WDFIORESREQLIST IoResourceRequirementsList
)
{...}

参数

[in] Device

要向其分配资源的框架设备对象的句柄。

[in] IoResourceRequirementsList

resource-requirements-list 对象的句柄,该对象表示设备 的资源要求列表

返回值

如果驱动程序未遇到任何错误,则必须返回STATUS_SUCCESS。 否则,它必须返回 一个 NTSTATUS 值,NT_SUCCESS的计算结果为 FALSE

有关返回值的详细信息,请参阅 报告设备故障

注解

基于框架的函数驱动程序可以提供 EvtDeviceFilterAddResourceRequirementsEvtDeviceFilterRemoveResourceRequirements回调函数。 若要注册这些回调函数,驱动程序调用 WdfFdoInitSetEventCallbacks

当框架调用驱动程序的 EvtDeviceFilterAddResourceRequirements 回调函数时,驱动程序可以将资源描述符添加到逻辑配置,并且可以提供其他逻辑配置。 这些添加的项表示函数驱动程序使设备正常运行所需的资源。

如果驱动程序的 EvtDeviceFilterAddResourceRequirements 回调函数将项添加到设备的资源要求列表,并且如果 PnP 管理器将资源分配给设备的要求列表,则驱动程序的 EvtDeviceRemoveAddedResources 回调函数必须从设备的资源列表中删除添加的资源。

若要向资源要求列表添加项或从中删除项,驱动程序会调用 framework resource-requirements-list 对象方法和 framework resource-range-list 对象方法,它们操作由 IoResourceRequirementsList 参数表示的 resource-requirements-list 对象。

有关这些回调函数的详细信息,请参阅 修改资源要求列表

有关硬件资源和资源要求列表的详细信息,请参阅 Framework-Based 驱动程序的硬件资源

有关修改中断资源 (例如处理器相关性) 的信息,请参阅 WdfInterruptSetPolicy 的“备注”部分。

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
标头 wdffdo.h (包括 Wdf.h)
IRQL PASSIVE_LEVEL

另请参阅

EvtDeviceRemoveAddedResources