Collapse the table of content
Expand the table of content


The IOCTL_USB_GET_HUB_INFORMATION_EX I/O control request is sent by an application to retrieve information about a USB hub in a USB_HUB_INFORMATION_EX structure.

The request retrieves the highest port number on the hub. For USB 2.0 and SuperSpeed hubs (non-root hubs), the request also retrieves the associated hub descriptors, as defined in USB 2.0 and 3.0 Specifications, respectively.

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

Input Parameters

AssociatedIrp.SystemBuffer points to a caller-allocated USB_HUB_INFORMATION_EX structure.

The Parameters.DeviceIoControl.InputBufferLength member indicates the size, in bytes, of the caller-allocated buffer whose size equals sizeof(USB_HUB_INFORMATION_EX).

Output Parameters

On output, the USB_HUB_INFORMATION_EX structure that is pointed to by AssociatedIrp.SystemBuffer is filled with information about the hub.

The Parameters.DeviceIoControl.OutputBufferLength member indicates the size, in bytes, of the output buffer SystemBuffer.

I/O Status Block

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


Minimum supported client

Windows 8

Minimum supported server

None supported


Usbioctl.h (include Usbioctl.h)

See also




Send comments about this topic to Microsoft

© 2016 Microsoft