USB_PROTOCOLS union (usbioctl.h)
The USB_PROTOCOLS union is used to report the Universal Serial Bus (USB) signaling protocols that are supported by the port.
The supported protocols are retrieved in the USB_NODE_CONNECTION_INFORMATION_EX_V2 structure by the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O control request.
In the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 request, the caller specifies a bitwise OR of one or more flags defined in USB_PROTOCOLS. Upon successful completion, the request retrieves flags, which indicate the protocols that are actually supported by the port.
Syntax
typedef union _USB_PROTOCOLS {
ULONG ul;
struct {
ULONG Usb110 : 1;
ULONG Usb200 : 1;
ULONG Usb300 : 1;
ULONG ReservedMBZ : 29;
};
} USB_PROTOCOLS, *PUSB_PROTOCOLS;
Members
ul
A bitmask that indicates the USB signaling protocols that are supported by the port.
Usb110
If TRUE, the port supports the protocols that are defined in the USB 1.1 Specification. This indicates that the port supports full-speed and low-speed operations. Usb110 is always TRUE for high-speed ports because those ports support full-speed and low-speed operations through split transactions and transaction translators.
Usb200
If TRUE, the port supports the protocols that are defined USB 2.0 Specification. This indicates that the port supports high-speed operations.
Usb300
If TRUE, the port supports the protocols that are defined USB 3.0 Specification. This indicates that the port supports SuperSpeed operations.
ReservedMBZ
Reserved. Do not use.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | None supported |
Header | usbioctl.h (include Usbioctl.h) |