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


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).

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Элемент 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)

См. также

USB_NODE_CONNECTION_NAME