Поделиться через


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)

См. также раздел

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2

USB_NODE_CONNECTION_INFORMATION_EX_V2