IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)
Драйвер клиента отправляет этот запрос для получения характеристик транспорта.
Основной код
Буфер входных и выходных данных
Элемент AssociatedIrp.SystemBuffer — это указатель на структуру, выделенную вызывающим объектом USB_TRANSPORT_CHARACTERISTICS. Для входных данных задайте для версии значение USB_TRANSPORT_CHARACTERISTICS_VERSION_1. В выходных версия сбрасывается до версии меньше или равной USB_TRANSPORT_CHARACTERISTICS_VERSION_1; остальные члены структуры заполнены транспортной информацией.
Длина буфера ввода и вывода
Размер структуры USB_TRANSPORT_CHARACTERISTICS.
Блок состояния
Irp->IoStatus.Status STATUS_SUCCESS, если запрос выполнен успешно. В противном случае состояние соответствующего условия ошибки в качестве кода NTSTATUS.
Замечания
Этот запрос извлекает характеристики транспорта для принятия решения об алгоритме потоковой передачи. Например, драйвер отображения может использовать сведения о задержке и пропускной способности для выбора его кодека.
Эта информация может быть не всегда доступна. Стек USB-драйверов зависит от базового транспорта для предоставления этих значений. Таким образом, драйвер клиента должен иметь механизм резервного копирования для таких случаев, когда запрос.
Если драйвер клиента всегда заинтересован в том, чтобы знать последние сведения, драйвер должен зарегистрировать уведомление при изменении характеристик транспорта, сохранить запрос в ожидании стека USB-драйвера и отменить регистрацию, когда уведомление больше не требуется. Драйвер может выполнить все эти задачи, отправив эти запросы IOCTL.
- IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1709 |
минимальный поддерживаемый сервер | Windows Server 2016 |
заголовка | usbioctl.h |
IRQL | <=DISPATCH_LEVEL |
См. также
создание запросов IOCTL в драйверах
драйверы USB-клиента для Media-Agnostic (MA-USB)
WdfIoTargetSendInternalIoctlOthersSynchronously