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 |
|
|---|
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
Build date: 2/28/2013