IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKT IOCTL (usbfnioctl.h)
Драйвер класса отправляет этот запрос, чтобы инициировать передачу IN в указанный канал, и добавляет пакет нулевой длины, чтобы указать конец передачи.
Основной код
IRP_MJ_INTERNAL_DEVICE_CONTROL
Входной буфер
Указатель на тип USBFNPIPEID , указывающий идентификатор канала.
Длина входного буфера
Размер типа USBFNPIPEID .
Выходной буфер
Выходной буфер указывает на буфер данных, содержащий отправляемые данные. Направление IN с точки зрения узла представляет собой исходящий перенос с устройства на узел.
Длина выходного буфера
Размер отправляемых данных.
Блок состояния
Если запрос выполнен успешно, расширение класса функций USB (UFX) возвращает STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE. В противном случае возвращается значение состояния, для которого NT_SUCCESS(status) равно FALSE.
Комментарии
Этот запрос должен быть отправлен после отправки запроса IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS .
UFX перенаправляет этот запрос IOCTL в очередь передачи, созданную UfxEndpointCreate для конечной точки.
Контроллер функции инициирует передачу в направлении IN на конечной точке и автоматически добавляет передачу пакетов нулевой длины после успешной отправки данных, предоставленных в буфере данных. Пакет нулевой длины добавляется контроллером только в том случае, если размер полезных данных передачи кратен максимальному размеру пакета конечной точки.
Требования
Требование | Значение |
---|---|
Заголовок | usbfnioctl.h |