IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE IOCTL (usbioctl.h)

This request registers for notifications about the changes in transport characteristics.

Major code

IRP_MJ_DEVICE_CONTROL

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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously