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