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


IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKT IOCTL (usbfnioctl.h)

Драйвер класса отправляет этот запрос, чтобы инициировать передачу IN в указанный канал и добавляет пакет нулевой длины, чтобы указать конец передачи.

Основной код

IRP_MJ_INTERNAL_DEVICE_CONTROL

Входной буфер

Указатель на тип USBFNPIPEID, указывающий идентификатор канала.

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

Размер типа USBFNPIPE ID.

Выходной буфер

Выходной буфер указывает на буфер данных, содержащий отправленные данные. Направление in с точки зрения узла, представляющее исходящую передачу с устройства на узел.

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

Размер отправленных данных.

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

Если запрос выполнен успешно, расширение класса функции USB (UFX) возвращает STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(состояние) равно TRUE. В противном случае возвращается значение состояния, для которого NT_SUCCESS(состояние) равно FALSE.

Замечания

Этот запрос должен быть отправлен после отправки запроса IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS.

UFX перенаправляет этот запрос IOCTL в очередь передачи, созданную для конечной точки, UfxEndpointCreate.

Контроллер функций инициирует передачу в направлении IN в конечной точке и автоматически добавляет передачу пакетов нулевой длины после успешной отправки данных в буфере данных. Пакет нулевой длины добавляется только контроллером, если размер полезных данных передачи является нескольким из максимального размера пакета конечной точки.

Требования

Требование Ценность
заголовка usbfnioctl.h