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


IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)

Драйвер клиента отправляет этот запрос для получения характеристик транспорта.

Основной код

IRP_MJ_DEVICE_CONTROL

Буфер входных и выходных данных

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1709
минимальный поддерживаемый сервер Windows Server 2016
заголовка usbioctl.h
IRQL <=DISPATCH_LEVEL

См. также

создание запросов IOCTL в драйверах

драйверы USB-клиента для Media-Agnostic (MA-USB)

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronous

WdfIoTargetSendIoctlSynchronously