IOCTL_USB_GET_HUB_INFORMATION_EX IOCTL (usbioctl.h)
Запрос IOCTL_USB_GET_HUB_INFORMATION_EX управления вводом-выводом отправляется приложением для получения сведений о USB-концентраторе в структуре USB_HUB_INFORMATION_EX .
Запрос получает наибольший номер порта в концентраторе. Для концентраторов USB 2.0 и SuperSpeed (не корневых концентраторов) запрос также получает связанные дескрипторы концентратора, как определено в спецификациях USB 2.0 и 3.0 соответственно.
IOCTL_USB_GET_HUB_INFORMATION_EX — это запрос управления вводом-выводом в пользовательском режиме. Этот запрос предназначен для usb-концентратора (GUID_DEVINTERFACE_USB_HUB).
Основной код
Входной буфер
AssociatedIrp.SystemBuffer указывает на структуру, выделенную вызывающим объектом USB_HUB_INFORMATION_EX .
Длина входного буфера
Элемент Parameters.DeviceIoControl.InputBufferLength указывает размер буфера, выделенного вызывающим объектом, в байтах sizeof(USB_HUB_INFORMATION_EX)
, размер которого равен .
Выходной буфер
В выходных данных структура USB_HUB_INFORMATION_EX , на которую указывает AssociatedIrp.SystemBuffer , заполняется сведениями о концентраторе.
Длина выходного буфера
Элемент Parameters.DeviceIoControl.OutputBufferLength указывает размер выходного буфера SystemBuffer в байтах.
Блок состояния
Стек USB задает для параметра Irp-IoStatus.Status> значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае стек usb-драйвера устанавливает состояние соответствующего состояния ошибки, например STATUS_INVALID_PARAMETER или STATUS_INSUFFICIENT_RESOURCES.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Ни одна версия не поддерживается |
Верхняя часть | usbioctl.h (включая Usbioctl.h) |