EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS callback function (wdffdo.h)
[Applies to KMDF only]
A driver's EvtDeviceFilterAddResourceRequirements event callback function can add resources to a set of hardware resource requirements before the system assigns resources to a device.
A driver's EvtDeviceFilterRemoveResourceRequirements event callback function can remove resources from a set of hardware resource requirements before the system assigns resources to a device.
Syntax
EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtWdfDeviceFilterResourceRequirements;
NTSTATUS EvtWdfDeviceFilterResourceRequirements(
[in] WDFDEVICE Device,
[in] WDFIORESREQLIST IoResourceRequirementsList
)
{...}
Parameters
[in] Device
A handle to the framework device object to which resources will be assigned.
[in] IoResourceRequirementsList
A handle to a resource-requirements-list object, which represents the device's resource requirements list.
Return value
If the driver encountered no errors it must return STATUS_SUCCESS. Otherwise it must return an NTSTATUS value that NT_SUCCESS evaluates as FALSE.
For more information about return values, see Reporting Device Failures.
Remarks
Framework-based function drivers can provide an EvtDeviceFilterAddResourceRequirements and an EvtDeviceFilterRemoveResourceRequirementscallback function. To register these callback functions, drivers call WdfFdoInitSetEventCallbacks.
When the framework calls a driver's EvtDeviceFilterAddResourceRequirements callback function, the driver can add resource descriptors to a logical configuration, and it can provide additional logical configurations. These added items represent resources that the function driver requires to make the device operational.
If a driver's EvtDeviceFilterAddResourceRequirements callback function adds items to a device's resource requirements list, and if the PnP manager assigns the resources to the device's requirements list, the driver's EvtDeviceRemoveAddedResources callback function must remove the added resources from the device's resource list.
To add items to or remove items from a resource requirements list, the driver calls framework resource-requirements-list object methods and framework resource-range-list object methods, which manipulates the resource-requirements-list object that is represented by the IoResourceRequirementsList parameter.
For more information about these callback functions, see Modifying a Resource Requirements List.
For more information about hardware resources and resource requirements lists, see Hardware Resources for Framework-Based Drivers.
For information about modifying interrupt resources (for example processor affinity), see the Remarks section of WdfInterruptSetPolicy.
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.0 |
Header | wdffdo.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for