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