USB_NODE_CONNECTION_INFORMATION structure

The USB_NODE_CONNECTION_INFORMATION structure is used with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION request to retrieve information about a USB port and connected device.

Syntax


typedef struct _USB_NODE_CONNECTION_INFORMATION {
  ULONG                 ConnectionIndex;
  USB_DEVICE_DESCRIPTOR DeviceDescriptor;
  UCHAR                 CurrentConfigurationValue;
  BOOLEAN               LowSpeed;
  BOOLEAN               DeviceIsHub;
  USHORT                DeviceAddress;
  ULONG                 NumberOfOpenPipes;
  USB_CONNECTION_STATUS ConnectionStatus;
  USB_PIPE_INFO         PipeList[];
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;

Members

ConnectionIndex

A value that is greater than or equal to 1 that specifies the number of the port.

DeviceDescriptor

A USB_DEVICE_DESCRIPTOR structure that reports the USB device descriptor that is returned by the attached device during enumeration.

CurrentConfigurationValue

The value that is used with the SetConfiguration request to specify that current configuration of the device that is connected to the indicated port. For more information about this member, see Universal Serial Bus Specification.

LowSpeed

A Boolean value that indicates whether the port and its connected device are operating at low speed. TRUE indicates that the port and its connected device are currently operating at a low speed. FALSE indicates otherwise.

DeviceIsHub

A Boolean value that indicates if the device that is attached to the port is a hub. If TRUE, the device that is attached to the port is a hub. If FALSE, the device is not a hub.

DeviceAddress

The USB-assigned, bus-relative address of the device that is attached to the port.

NumberOfOpenPipes

The number of open USB pipes that are associated with the port.

ConnectionStatus

A USB_CONNECTION_STATUS-typed enumerator that indicates the connection status.

PipeList

An array of USB_PIPE_INFO structures that describes the open pipes that are associated with the port. Pipe descriptions include the schedule offset of the pipe and the associated endpoint descriptor. This information can be used to calculate bandwidth usage.

Remarks

If there is no device connected to the USB port, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION returns only information about the port. If a device is connected to the port, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION returns information about both the port and the connected device.

The USB_NODE_CONNECTION_INFORMATION_EX structure is an extended version of USB_NODE_CONNECTION_INFORMATION. The two structures are identical, except for one member. In USB_NODE_CONNECTION_INFORMATION_EX, the LowSpeed member is replaced by the Speed member. LowSpeed is a Boolean value, so when it is TRUE, the device is low speed. When it is FALSE, the device is high speed or full speed. Thus the USB_NODE_CONNECTION_INFORMATION structure cannot differentiate between high and full speeds.

The Speed member of the USB_NODE_CONNECTION_INFORMATION_EX structure is a UCHAR and it can specify any of the values of the USB_DEVICE_SPEED enumerator.

Requirements

Header

Usbioctl.h (include Usbioctl.h)

See also

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
USB_CONNECTION_STATUS
USB_DEVICE_DESCRIPTOR
USB_DEVICE_SPEED
USB_NODE_CONNECTION_INFORMATION_EX
USB_PIPE_INFO
USB Structures

 

 

Send comments about this topic to Microsoft

Show: