IOCTL_USB_GET_NODE_CONNECTION_NAME IOCTL (usbioctl.h)
Запрос элемента управления ввода-вывода IOCTL_USB_GET_NODE_CONNECTION_NAME используется со структурой USB_NODE_CONNECTION_NAME для получения символьного имени концентратора, подключенного к нижнему порту.
IOCTL_USB_GET_NODE_CONNECTION_NAME — это запрос на управление вводом-выводом в режиме пользователя. Этот запрос предназначен для устройства USB-концентратора (GUID_DEVINTERFACE_USB_HUB).
Основной код
Входной буфер
Элемент AssociatedIrp.SystemBuffer указывает на структуру USB_NODE_CONNECTION_NAME. Во входных данных элемент ConnectionIndex этой структуры должен указывать номер порта для проверки присоединенного концентратора.
Длина входного буфера
Размер структуры USB_NODE_CONNECTION_NAME.
Выходной буфер
AssociatedIrp.SystemBuffer указывает на структуру USB_NODE_CONNECTION_NAME. В выходных данных эта структура содержит символьное имя присоединенного концентратора в элементе HubName. Если концентратор не подключен, концентратор не имеет символьного канала или подключенное устройство не является концентратором, HubName[0] будет содержать значение UNICODE_NULL.
Длина выходного буфера
Элемент Parameters.DeviceIoControl.OutputBufferLength содержит размер в байтах всей структуры USB_NODE_CONNECTION_NAME.
Блок состояния
Стек USB устанавливает Irp->IoStatus.Status, чтобы STATUS_SUCCESS, если запрос выполнен успешно. Запрос сообщает об успешном выполнении, даже если концентратор не подключен, подключенный концентратор не имеет символьной ссылки, или подключенное устройство не является концентратором.
В противном случае usb-стек устанавливает состояние соответствующего условия ошибки, например STATUS_INVALID_PARAMETER или STATUS_INSUFFICIENT_RESOURCES.
Требования
Требование | Ценность |
---|---|
заголовка | usbioctl.h (include Usbioctl.h) |