IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE IOCTL (usbioctl.h)

Этот запрос регистрирует уведомления об изменениях в характеристиках транспорта.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Элемент AssociatedIrp.SystemBuffer является указателем на структуру USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION . При входе драйвер клиента может указать тип уведомлений об изменениях, в которых он заинтересован, установив флаги в элементе ChangeNotificationInputFlags .

В выходных данных структура заполняется дескриптором регистрации и начальными значениями характеристик транспорта.

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

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

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

Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае состояние указывает соответствующее условие ошибки в виде кода NTSTATUS .

Комментарии

Транспортные характеристики носителей MA-USB могут значительно меняться с течением времени. Если клиент-дайвер всегда заинтересован в том, чтобы знать последние сведения, драйвер должен зарегистрироваться для уведомления, отправив запрос.

Этот запрос может быть отправлен приложением пользовательского режима, драйвером UMDF или драйвером KMDF. Стек usb-драйвера проверяет наличие устаревших и неправильных дескрипторов регистрации. Если запрос получен на дескриптор до регистрации и после отмены регистрации, стек драйверов завершает запрос неудачно.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1709
Минимальная версия сервера Windows Server 2016
Верхняя часть usbioctl.h
IRQL <=DISPATCH_LEVEL

См. также раздел

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

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

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously