UrsIoResourceListAppendDescriptor function (ursdevice.h)
Appends the specified resource descriptor to the specified I/O resource list object that maintains resource descriptors for the host or function role.
Syntax
NTSTATUS UrsIoResourceListAppendDescriptor(
[in] URSIORESLIST IoResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor
);
Parameters
[in] IoResourceList
A role's I/O resource list object to which the resource descriptor is appended. This object is allocated by the framework and passed to the client driver when the framework invokes the driver's EVT_URS_DEVICE_FILTER_RESOURCE_REQUIREMENTS implementation.
[in] Descriptor
A pointer to IO_RESOURCE_DESCRIPTOR that contains the resource descriptor for the role.
Return value
The method returns STATUS_SUCCESS if the operation succeeds. Otherwise, this method might return an appropriate NTSTATUS error code.
Remarks
After the client driver calls UrsDeviceInitialize, the framework allocates memory for the resource requirements list. When the USB dual-role class extension invokes the client driver's implementation of EVT_URS_DEVICE_FILTER_RESOURCE_REQUIREMENTS, it passes a WDFIORESREQLIST handle to that requirements list along with URSIORESLIST handles for host and function role resource lists. In the implementation, the client driver is expected to enumerate through the requirements list and add the resource descriptor (if it wants to use that resource) to the resource list for each role.
To add a resource descriptors for a role, the driver calls UrsIoResourceListAppendDescriptor and specifies the descriptor and the resource list to which the resource must be added.
For a code example, see EVT_URS_DEVICE_FILTER_RESOURCE_REQUIREMENTS.
For more information about resource requirements lists, see Handling Hardware Resources.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Windows |
Minimum KMDF version | 1.15 |
Header | ursdevice.h (include Urscx.h) |
Library | Urscxstub.lib |
IRQL | PASSIVE_LEVEL |