IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL (usbioctl.h)
Запрос ввода-вывода IOCTL_INTERNAL_USB_GET_HUB_NAME используется драйверами для получения символьного имени ЮНИКОДа для целевого PDO, если PDO предназначен для концентратора. В противном случае возвращается строка NULL.
Драйверы могут использовать символьное имя для получения дополнительных сведений о концентраторе с помощью запросов управления ввода-вывода в пользовательском режиме и вызовов WMI.
IOCTL_INTERNAL_USB_GET_HUB_NAME — это запрос управления в режиме ядра. Этот запрос предназначен для PDO USB-концентратора. Этот запрос должен быть отправлен по irQL PASSIVE_LEVEL.
Основной код
IRP_MJ_INTERNAL_DEVICE_CONTROL
Входной буфер
Irp->AssociatedIrp.SystemBuffer указывает на структуру USB_HUB_NAME.
Длина входного буфера
Parameters.DeviceIoControl.OutputBufferLength — это длина буфера (в байтах), переданного в поле Irp->AssociatedIrp.SystemBuffer.
Выходной буфер
Irp->AssociatedIrp.SystemBuffer заполняется символическим именем корневого концентратора.
Длина выходного буфера
Длина символьного имени корневого концентратора.
Блок состояния
Драйвер нижнего уровня задает Irp->IoStatus.Status для STATUS_SUCCESS или соответствующего состояния ошибки. Он установит Irp->IoStatus.Information количество байтов, необходимых для хранения структуры USB_ROOT_HUB_NAME. Если запрос завершается сбоем, драйвер может использовать эти сведения для повторного отправки запроса с достаточно большим буфером.
Требования
Требование | Ценность |
---|---|
заголовка | usbioctl.h (include Usbioctl.h) |