IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)
The client driver sends this request to retrieve the transport characteristics.
Major code
Input / Output buffer
The AssociatedIrp.SystemBuffer member is a pointer to a caller-allocated USB_TRANSPORT_CHARACTERISTICS structure. On input, set Version to USB_TRANSPORT_CHARACTERISTICS_VERSION_1. On output Version is reset to a version less than or equal to USB_TRANSPORT_CHARACTERISTICS_VERSION_1; he remaining members of the structure is filled with transport information.
Input / Output buffer length
The size of the USB_TRANSPORT_CHARACTERISTICS structure.
Status block
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.
Remarks
This request retrieves the transport characteristics to decide on an algorithm for streaming. For example, a display driver can use the latency and bandwidth information to decide its codec selection.
This information might not be always available. The USB driver stack depends on the underlying transport to expose these values. Therefore, the client driver must have a back up mechanism for such cases where the request.
If the client driver is interested in knowing the latest information at all times, the driver must register for notification when transport characteristics change, keep a request pending with the USB driver stack, and unregister when the notification is no longer required. The driver can accomplish all those tasks by sending these IOCTL requests.
- IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1709 |
Minimum supported server | Windows Server 2016 |
Header | usbioctl.h |
IRQL | <=DISPATCH_LEVEL |
See also
Creating IOCTL Requests in Drivers
USB client drivers for Media-Agnostic (MA-USB)
WdfIoTargetSendInternalIoctlOthersSynchronously