USB_PROTOCOLS union (usbioctl.h)
Объединение USB_PROTOCOLS используется для передачи данных о протоколах сигнализации USB, поддерживаемых портом.
Поддерживаемые протоколы извлекаются в структуре USB_NODE_CONNECTION_INFORMATION_EX_V2 с помощью запроса IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 управления вводом-выводом.
В запросе IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 вызывающий объект указывает побитовое ИЛИ одного или нескольких флагов, определенных в USB_PROTOCOLS. После успешного выполнения запрос получает флаги, указывающие протоколы, которые фактически поддерживаются портом.
Синтаксис
typedef union _USB_PROTOCOLS {
ULONG ul;
struct {
ULONG Usb110 : 1;
ULONG Usb200 : 1;
ULONG Usb300 : 1;
ULONG ReservedMBZ : 29;
};
} USB_PROTOCOLS, *PUSB_PROTOCOLS;
Члены
ul
Битовая маска, указывающая протоколы сигнализации USB, поддерживаемые портом.
Usb110
Если задано значение TRUE, порт поддерживает протоколы, определенные в спецификации USB 1.1. Это означает, что порт поддерживает операции с полной и низкой скоростью. Usb110 всегда имеет значение TRUE для высокоскоростных портов, так как они поддерживают полноскоростные и низкоскоростные операции с помощью разделенных транзакций и переводчиков транзакций.
Usb200
Если задано значение TRUE, порт поддерживает протоколы, определенные в спецификации USB 2.0. Это означает, что порт поддерживает высокоскоростные операции.
Usb300
Если задано значение TRUE, порт поддерживает протоколы, определенные в спецификации USB 3.0. Это означает, что порт поддерживает операции SuperSpeed.
ReservedMBZ
Зарезервировано. Не используется.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Ни одна версия не поддерживается |
Верхняя часть | usbioctl.h (включая Usbioctl.h) |