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


IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL (usbioctl.h)

Запрос на управление IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME ввода-вывода извлекает имя раздела реестра драйверов, связанное с устройством, подключенным к указанному порту.

IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME — это запрос на управление вводом-выводом в режиме пользователя. Этот запрос предназначен для устройства USB-концентратора (GUID_DEVINTERFACE_USB_HUB).

Основной код

IRP_MJ_DEVICE_CONTROL

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

Элемент AssociatedIrp.SystemBuffer указывает на структуру, выделенную пользователем USB_NODE_CONNECTION_DRIVERKEY_NAME. Во входных данных ConnectionIndex элемент этой структуры содержит номер порта, к которому подключено устройство.

Длина входного буфера

Размер структуры USB_NODE_CONNECTION_DRIVERKEY_NAME.

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

В выходных данных элемент DriverKeyName структуры USB_NODE_CONNECTION_DRIVERKEY_NAME в AssociatedIrp.SystemBuffer содержит имя ключа драйвера, связанное с устройством, которое подключено к порту, указанному ConnectionIndex.

Элемент ActualLength указывает длину ключа драйвера в байтах. Элемент Parameters.DeviceIoControl.OutputBufferLength указывает размер всей структуры USB_NODE_CONNECTION_DRIVERKEY_NAME в байтах.

Длина выходного буфера

Размер структуры USB_NODE_CONNECTION_DRIVERKEY_NAME.

Блок состояния

Стек USB устанавливает Irp->IoStatus.Status, чтобы STATUS_SUCCESS, если запрос выполнен успешно. В противном случае usb-стек устанавливает состояние соответствующего условия ошибки, например STATUS_INVALID_PARAMETER или STATUS_INSUFFICIENT_RESOURCES.

Если вызывающий объект выделяет выходной буфер, который достаточно велик для хранения всех выходных данных, IoStatus.Information будет равно значению ActualLength. Если выходной буфер достаточно велик для хранения всех выходных данных, IoStatus.Information будет равно sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME).

Требования

Требование Ценность
заголовка usbioctl.h (include Usbioctl.h)

См. также

USB_NODE_CONNECTION_DRIVERKEY_NAME