IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE IOCTL (usbioctl.h)
This request registers for notifications about the changes in transport characteristics.
Major code
Input / Output buffer
The AssociatedIrp.SystemBuffer member is a pointer to a USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION structure. On input, the client driver can specify the type of notification changes in which the driver is interested by setting the flags in the ChangeNotificationInputFlags member.
On output, the structure is filled with the registration handle and initial values of the transport characteristics.
Input / Output buffer length
The size of the USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION structure.
Status block
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status indicates the appropriate error condition as a NTSTATUS code.
Remarks
The transport characteristics of MA-USB mediums can vary significantly over time. If the client diver is interested in knowing the latest information at all times, the driver must register for notification by sending the request.
This request can be sent by a user mode application, UMDF driver, or a KMDF driver. USB driver stack checks for stale and bad registration handle. If the request is received on a handle before registration and after unregistration, the driver stack fails the request.
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