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
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 |