IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION IOCTL (usbioctl.h)

The IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION request retrieves USB port super-speed lane information.

Client drivers must send this IOCTL at an IRQL of PASSIVE_LEVEL.

IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION is a user-mode I/O control request. This request targets the USB hub device (GUID_DEVINTERFACE_USB_HUB).

Major code

IRP_MJ_DEVICE_CONTROL

Input / Output buffer

Both input and output buffers point to a caller-allocated USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION structure. On input, the ConnectionIndex member of this structure must contain a number greater than or equal to 1 that indicates the number of the port whose super-speed lane information is to be reported. The hub driver returns super-speed lane information in the remaining members of the USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION structure. The IRP, the AssociatedIrp.SystemBuffer member points to the USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION structure.

On output, the USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION structure receives information about the indicated super-speed lanes from the USB hub driver.

Input / Output buffer length

The size of a USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION structure.

Status block

The USB stack sets Irp->IoStatus.Status to STATUS_SUCCESS if the request is successful. Otherwise, the USB stack sets Status to the appropriate error condition, such as STATUS_INVALID_PARAMETER or STATUS_INSUFFICIENT_RESOURCES.

Remarks

Here is an example that shows how to retrieve the USB port super-speed lane information.

success = DeviceIoControl(hHubDevice,
                          IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION,
                          connectionSSPInfo,
                          sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
                          connectionSSPInfo,
                          sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
                          &nBytes,
                          NULL);

Requirements

Requirement Value
Header usbioctl.h

See also