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 |