USB_TOPOLOGY_ADDRESS structure (usbioctl.h)

The USB_TOPOLOGY_ADDRESS structure is used with the IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS I/O request to retrieve information about a USB device's location in the USB device tree.

Syntax

typedef struct _USB_TOPOLOGY_ADDRESS {
  ULONG  PciBusNumber;
  ULONG  PciDeviceNumber;
  ULONG  PciFunctionNumber;
  ULONG  Reserved;
  USHORT RootHubPortNumber;
  USHORT HubPortNumber[5];
  USHORT Reserved2;
} USB_TOPOLOGY_ADDRESS, *PUSB_TOPOLOGY_ADDRESS;

Members

PciBusNumber

Specifies the PCI bus number of the USB host controller to which the USB device is attached.

PciDeviceNumber

Specifies the PCI device number of the USB host controller to which the USB device is attached.

PciFunctionNumber

Specifies the PCI function number of the USB host controller to which the USB device is attached.

Reserved

RootHubPortNumber

Specifies the root hub port number through which the USB device is connected. The USB device can be connected to the root port directly, or it can be connected through 1 or more external USB hubs to the port.

HubPortNumber[5]

An array containing the port number on each external hub (between the root hub and the device) through which the USB device is connected. The first element of the array indicates the port on the hub that is connected directly to the root hub. An array containing all zeros indicates that the device is connected directly to the root hub.

Reserved2

Remarks

The reserved members of this structure must be treated as opaque and are reserved for system use.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista and later operating systems.
Header usbioctl.h (include Usbioctl.h)

See also

IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS

USB Structures